diff options
| author | Louis Burda <quent.burda@gmail.com> | 2022-01-08 15:04:18 +0100 |
|---|---|---|
| committer | Louis Burda <quent.burda@gmail.com> | 2022-01-08 15:04:18 +0100 |
| commit | 019761cb13674f85468188b193e2fa7ff959f47f (patch) | |
| tree | a1f753d4d7b0ead8821dbb6366ef5e2e90fda41d /src/track.c | |
| parent | 43282adc30aadefb563ef26bea1233d4cbdb6007 (diff) | |
| download | tmus-019761cb13674f85468188b193e2fa7ff959f47f.tar.gz tmus-019761cb13674f85468188b193e2fa7ff959f47f.zip | |
Closed memory leaks
Diffstat (limited to 'src/track.c')
| -rw-r--r-- | src/track.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/track.c b/src/track.c index 31d70b4..e6f35cf 100644 --- a/src/track.c +++ b/src/track.c @@ -1,3 +1,4 @@ +#include "ref.h" #include "track.h" #include <wchar.h> @@ -12,21 +13,21 @@ track_init(const char *dir, const char *fname) struct stat info; track = malloc(sizeof(struct track)); - ASSERT(track != NULL); + track->fname = strdup(fname); ASSERT(track->fname != NULL); + track->fpath = aprintf("%s/%s", dir, fname); ASSERT(track->fpath != NULL); + track->name = calloc(strlen(track->fname) + 1, sizeof(wchar_t)); ASSERT(track->name != NULL); mbstowcs(track->name, track->fname, strlen(track->fname) + 1); - if (!stat(track->fpath, &info)) { + track->fid = -1; + if (!stat(track->fpath, &info)) track->fid = info.st_ino; - } else { - track->fid = -1; - } track->tags = LIST_HEAD; @@ -39,4 +40,8 @@ track_free(struct track *t) free(t->fname); free(t->fpath); free(t->name); + + refs_free(&t->tags); + + free(t); } |
