aboutsummaryrefslogtreecommitdiffstats
path: root/src/playlist_vector.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2010-09-07 20:21:19 +0200
committerMax Kellermann <max@duempel.org>2010-09-07 20:21:19 +0200
commit663815ead8feca5188b9a6e06316421303f06851 (patch)
tree5a4cff877ea0684bcbd3784650bfa93e5e7d7ef2 /src/playlist_vector.c
parentbc87ec0059321485727b13ab7456de9dead2da8b (diff)
downloadmpd-663815ead8feca5188b9a6e06316421303f06851.tar.gz
mpd-663815ead8feca5188b9a6e06316421303f06851.tar.xz
mpd-663815ead8feca5188b9a6e06316421303f06851.zip
playlist_vector: update_or_add() returns bool
False if the vector was not modified.
Diffstat (limited to 'src/playlist_vector.c')
-rw-r--r--src/playlist_vector.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/playlist_vector.c b/src/playlist_vector.c
index 80b70a96c..7c1765a98 100644
--- a/src/playlist_vector.c
+++ b/src/playlist_vector.c
@@ -93,16 +93,21 @@ playlist_vector_add(struct playlist_vector *pv,
pv->head = pm;
}
-void
+bool
playlist_vector_update_or_add(struct playlist_vector *pv,
const char *name, time_t mtime)
{
struct playlist_metadata **pmp = playlist_vector_find_p(pv, name);
if (pmp != NULL) {
struct playlist_metadata *pm = *pmp;
+ if (mtime == pm->mtime)
+ return false;
+
pm->mtime = mtime;
} else
playlist_vector_add(pv, name, mtime);
+
+ return true;
}
bool