/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_get_music.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: rbousset +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/28 18:30:18 by rbousset #+# #+# */ /* Updated: 2020/02/28 18:30:19 by rbousset ### ########lyon.fr */ /* */ /* ************************************************************************** */ #include #include #include #include static int8_t ft_set_music_cmd(t_map *mlist) { uint8_t len; len = ft_strlen(mlist->music_path); len += ft_strlen(FT_SND_CMD) - 2; ft_memdel((void*)&mlist->music_cmd); if (!(mlist->music_cmd = (char *)malloc((len + 1) * sizeof(char)))) return (-1); ft_sprintf(mlist->music_cmd, FT_SND_CMD, mlist->music_path); return (0); } int8_t ft_get_music(char **words, t_cub *clist) { if (!(*words) || !(*(words + 1)) || (*(words + 2))) { ft_sprintf(clist->errmsg, FT_ERR_ARGS); return (-1); } if (ft_check_ext(*(words + 1), ".wav") < 0) { ft_sprintf(clist->errmsg, FT_ERR_NOT_A_WAV); return (-1); } ft_memdel((void*)&clist->mlist.music_path); if (!(clist->mlist.music_path = ft_strdup(*(words + 1)))) { ft_sprintf(clist->errmsg, FT_ERR_ALLOCATE); return (-1); } if (ft_check_not_found(clist->mlist.music_path) < 0) { ft_sprintf(clist->errmsg, FT_ERR_RD_MUSIC); return (-1); } clist->mlist.ismusic = 1; return ((ft_set_music_cmd(&clist->mlist) == 0) ? (0) : (-1)); }