diff options
| author | Louis Burda <quent.burda@gmail.com> | 2021-12-29 01:46:08 +0100 |
|---|---|---|
| committer | Louis Burda <quent.burda@gmail.com> | 2021-12-29 01:46:08 +0100 |
| commit | 7902429e5d69bb6aa57c6f1411b163d3e037e0e1 (patch) | |
| tree | 4e09953714eacf615da8cacb65bdc34d26ed7262 /src/tag.c | |
| parent | fb0a1cabe8d61d3305d9d14acc4754a1b6151b8c (diff) | |
| download | tmus-7902429e5d69bb6aa57c6f1411b163d3e037e0e1.tar.gz tmus-7902429e5d69bb6aa57c6f1411b163d3e037e0e1.zip | |
More refactoring, moved track manipulation into player
Planning on creating a modular player_backend component
Diffstat (limited to 'src/tag.c')
| -rw-r--r-- | src/tag.c | 34 |
1 files changed, 34 insertions, 0 deletions
@@ -1,4 +1,38 @@ #include "tag.h" #include "link.h" +#include "ref.h" +#include <string.h> +struct tag * +tag_init(const char *path, const char *fname) +{ + struct tag *tag; + + tag = malloc(sizeof(struct tag)); + ASSERT(tag != NULL); + + tag->fname = strdup(fname); + ASSERT(tag->fname != NULL); + + tag->fpath = aprintf("%s/%s", path, fname); + ASSERT(tag->fpath != NULL); + + tag->name = sanitized(tag->fname); + ASSERT(tag->name != NULL); + + tag->link = LINK_EMPTY; + + tag->tracks = LIST_HEAD; + + return tag; +} + +void +tag_free(struct tag *tag) +{ + free(tag->fname); + free(tag->fpath); + free(tag->name); + refs_free(&tag->tracks); +} |
