diff options
author | Eric Wong <normalperson@yhbt.net> | 2008-09-09 01:38:09 -0700 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2008-09-09 01:38:09 -0700 |
commit | bb59a92bdb4f5b832a75ef9ff2c42aae58bdd7e9 (patch) | |
tree | b4be9458914ea9e1272feba2b52505e38e9f0863 /src/strset.h | |
parent | d5187ce694cca1c5bd05bd562d9494e7387a86d0 (diff) | |
parent | 09dccb79f611110a5a653030c7c21958eda95a03 (diff) | |
download | mpd-bb59a92bdb4f5b832a75ef9ff2c42aae58bdd7e9.tar.gz mpd-bb59a92bdb4f5b832a75ef9ff2c42aae58bdd7e9.tar.xz mpd-bb59a92bdb4f5b832a75ef9ff2c42aae58bdd7e9.zip |
Merge branch 'mk/strset' into mk/playlist
* mk/strset:
use strset.h instead of tagTracker.h
strset: fix duplicate values
added string set library
Conflicts:
src/dbUtils.c
src/tagTracker.c
Diffstat (limited to '')
-rw-r--r-- | src/strset.h (renamed from src/tagTracker.h) | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/src/tagTracker.h b/src/strset.h index 2edb5aad0..41ef0e1bd 100644 --- a/src/tagTracker.h +++ b/src/strset.h @@ -1,5 +1,5 @@ /* the Music Player Daemon (MPD) - * Copyright (C) 2003-2007 by Warren Dukes (warren.dukes@gmail.com) + * Copyright (C) 2008 Max Kellermann <max@duempel.org> * This project's homepage is: http://www.musicpd.org * * This program is free software; you can redistribute it and/or modify @@ -16,17 +16,34 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef TAG_TRACKER_H -#define TAG_TRACKER_H +/** + * "struct strset" is a hashed string set: you can add strings to this + * library, and it stores them as a set of unique strings. You can + * get the size of the set, and you can enumerate through all values. + * + * It is important to note that the strset does not copy the string + * values - it stores the exact pointers it was given in strset_add(). + */ + +#ifndef STRSET_H +#define STRSET_H + +#include "gcc.h" + +struct strset; + +mpd_malloc struct strset *strset_new(void); + +void strset_free(struct strset *set); -int getNumberOfTagItems(int type); +void strset_add(struct strset *set, const char *value); -void printMemorySavedByTagTracker(void); +int strset_get(const struct strset *set, const char *value); -void resetVisitedFlagsInTagTracker(int type); +unsigned strset_size(const struct strset *set); -void visitInTagTracker(int type, const char *str); +void strset_rewind(struct strset *set); -void printVisitedInTagTracker(int fd, int type); +const char *strset_next(struct strset *set); #endif |