Пример #1
0
void
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;
		pm->mtime = mtime;
	} else
		playlist_vector_add(pv, name, mtime);
}
Пример #2
0
bool
playlist_vector_remove(struct playlist_vector *pv, const char *name)
{
	struct playlist_metadata **pmp = playlist_vector_find_p(pv, name);
	if (pmp == NULL)
		return false;

	struct playlist_metadata *pm = *pmp;
	*pmp = pm->next;

	playlist_metadata_free(pm);
	return true;
}
Пример #3
0
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;
}
Пример #4
0
struct playlist_metadata *
playlist_vector_find(struct playlist_vector *pv, const char *name)
{
	struct playlist_metadata **pmp = playlist_vector_find_p(pv, name);
	return pmp != NULL ? *pmp : NULL;
}