playlist_vector: update_or_add() returns bool

False if the vector was not modified.
This commit is contained in:
Max Kellermann 2010-09-07 20:21:19 +02:00
parent bc87ec0059
commit 663815ead8
2 changed files with 10 additions and 2 deletions

View File

@ -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

View File

@ -58,7 +58,10 @@ void
playlist_vector_add(struct playlist_vector *pv,
const char *name, time_t mtime);
void
/**
* @return true if the vector or one of its items was modified
*/
bool
playlist_vector_update_or_add(struct playlist_vector *pv,
const char *name, time_t mtime);