disco-dl

Discography/album downloader
git clone git://git.wimdupont.com/disco-dl.git
Log | Files | Refs | README | LICENSE

commit 03f2686a4475670ccd48b815a036c361542f78de
parent 2a1fe493b66fec3376722dcabd125b9693862882
Author: Wim Dupont <wim@wimdupont.com>
Date:   Sun, 20 Jul 2025 19:28:31 +0200

cleanup

Diffstat:
Mdisco-dl.c | 36+++++++++++++++++-------------------
1 file changed, 17 insertions(+), 19 deletions(-)

diff --git a/disco-dl.c b/disco-dl.c @@ -11,8 +11,6 @@ #include "config.h" -#define DIR_SEP "/" - typedef struct { char *band; @@ -72,15 +70,19 @@ main(void) void dl_album(Album *album) { - char *genredir = make_message("%s%s%s", ROOT_DIR, DIR_SEP, album->genre); - char *banddir = make_message("%s%s%s", genredir, DIR_SEP, album->band); - char *albumdir = make_message("%s%s%s", banddir, DIR_SEP, album->album); - char *sys_command; + char *genredir, *banddir, *albumdir, *sys_command; + int status; + + genredir = make_message("%s/%s", ROOT_DIR, album->genre); + banddir = make_message("%s/%s", genredir, album->band); + albumdir = make_message("%s/%s", banddir, album->album); make_dir(ROOT_DIR); make_dir(genredir); make_dir(banddir); - int status = make_dir(albumdir); + + status = make_dir(albumdir); + if (status == 1) fprintf(stdout, "Pathname already exists: %s\n", albumdir); status = chdir(albumdir); @@ -102,8 +104,7 @@ dl_album(Album *album) void tag_album(Album *album) { - char *token; - char *tracklist; + char *token, *tracklist; int count = 0; Track *track; @@ -131,15 +132,12 @@ tag_album(Album *album) Track * get_track(Album **album, char **track_name, int count) { - char *filename; - char *tracknumber; + char *filename, *tracknumber, *substr; + char *pp[] = { (*album)->dir, NULL }; + int fts_options = FTS_COMFOLLOW | FTS_LOGICAL | FTS_NOCHDIR; FTS *ftsp; FTSENT *p, *chp; - int fts_options = FTS_COMFOLLOW | FTS_LOGICAL | FTS_NOCHDIR; - char *pp[] = { (*album)->dir, NULL }; Track *track = NULL; - char *substr; - if ((ftsp = fts_open(pp, fts_options, NULL)) == NULL) fatal("Error during fts_open %s\n", pp); @@ -187,14 +185,12 @@ get_track(Album **album, char **track_name, int count) void convert(Track *track){ - char *sys_command; - char *path; - char *base; + char *sys_command, *path, *base; base = strdup(track->path); base = dirname(base); - path = make_message("%s%s%s - %s.mp3", base, DIR_SEP, track->tracknum, track->title); + path = make_message("%s/%s - %s.mp3", base, track->tracknum, track->title); sys_command = make_message("ffmpeg -loglevel error -i \"%s\" \"%s\"", track->path, path); system(sys_command); free(sys_command); @@ -282,6 +278,7 @@ make_dir(const char * name) int status = EXIT_SUCCESS; errno = 0; int ret = mkdir(name, S_IRWXU); + if (ret == -1) { switch (errno) { case EACCES: @@ -306,6 +303,7 @@ char * concat(const char *s1, const char *s2) { char *result = malloc(strlen(s1) + strlen(s2) + 1); + if (result == NULL) fatal("Fatal: failed to allocate bytes for concat.\n");