summaryrefslogtreecommitdiff
path: root/pltmeta.c
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2011-04-29 22:38:31 +0200
committerGravatar waker <wakeroid@gmail.com>2011-04-29 22:38:31 +0200
commit20627955d1184b5f07b8f7910a59f15cdc4802c8 (patch)
treeafc2111b9d3be287d3e82dcc54b23f84c88e4183 /pltmeta.c
parentcec677f6022983afbc144a52eff8a719a1086577 (diff)
changed some API entry points to make it possible working with specific playlists, and not just the current one
Diffstat (limited to 'pltmeta.c')
-rw-r--r--pltmeta.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/pltmeta.c b/pltmeta.c
index b3895b26..e141a743 100644
--- a/pltmeta.c
+++ b/pltmeta.c
@@ -208,4 +208,29 @@ plt_delete_metadata (playlist_t *it, DB_metaInfo_t *meta) {
}
+void
+plt_delete_all_meta (playlist_t *it) {
+ LOCK;
+ DB_metaInfo_t *m = it->meta;
+ DB_metaInfo_t *prev = NULL;
+ while (m) {
+ DB_metaInfo_t *next = m->next;
+ if (m->key[0] == ':') {
+ prev = m;
+ }
+ else {
+ if (prev) {
+ prev->next = next;
+ }
+ else {
+ it->meta = next;
+ }
+ metacache_remove_string (m->key);
+ metacache_remove_string (m->value);
+ free (m);
+ }
+ m = next;
+ }
+ UNLOCK;
+}