chiark
/
gitweb
/
~mdw
/
disorder
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
6659665
)
More comments
author
Richard Kettlewell
<rjk@greenend.org.uk>
Sun, 25 Oct 2009 19:38:40 +0000
(19:38 +0000)
committer
Richard Kettlewell
<rjk@greenend.org.uk>
Sun, 25 Oct 2009 19:38:40 +0000
(19:38 +0000)
lib/trackdb.c
patch
|
blob
|
blame
|
history
diff --git
a/lib/trackdb.c
b/lib/trackdb.c
index 1488692d0a6fc45cc77d8744bb017d6c20b6788d..17862397df84d355312e4f6deb12844e612ac3fc 100644
(file)
--- a/
lib/trackdb.c
+++ b/
lib/trackdb.c
@@
-1774,7
+1774,12
@@
static const char *trackdb__default(const char *track, const char *name) {
return 0;
}
return 0;
}
-/* set a pref (remove if value=0) */
+/** @brief Set a preference
+ * @param track Track to modify
+ * @param name Preference name
+ * @param value New value, or NULL to erase any existing value
+ * @return 0 on success or non-zero if not allowed to set preference
+ */
int trackdb_set(const char *track,
const char *name,
const char *value) {
int trackdb_set(const char *track,
const char *name,
const char *value) {
@@
-1871,13
+1876,20
@@
fail:
return err == 0 ? 0 : -1;
}
return err == 0 ? 0 : -1;
}
-/* get a pref */
+/** @brief Get the value of a preference
+ * @param track Track name
+ * @param name Preference name
+ * @return Preference value or NULL if it's not set
+ */
const char *trackdb_get(const char *track,
const char *name) {
return kvp_get(trackdb_get_all(track), name);
}
const char *trackdb_get(const char *track,
const char *name) {
return kvp_get(trackdb_get_all(track), name);
}
-/* get all prefs as a 0-terminated array */
+/** @brief Get all preferences for a track
+ * @param track Track name
+ * @return Linked list of preferences
+ */
struct kvp *trackdb_get_all(const char *track) {
struct kvp *t, *p, **pp;
DB_TXN *tid;
struct kvp *trackdb_get_all(const char *track) {
struct kvp *t, *p, **pp;
DB_TXN *tid;
@@
-1897,7
+1909,10
@@
fail:
return p;
}
return p;
}
-/* resolve alias */
+/** @brief Resolve an alias
+ * @param Track name (might be an alias)
+ * @return Real track name (definitely not an alias) or NULL if no such track
+ */
const char *trackdb_resolve(const char *track) {
DB_TXN *tid;
const char *actual;
const char *trackdb_resolve(const char *track) {
DB_TXN *tid;
const char *actual;
@@
-1914,13
+1929,20
@@
fail:
return actual;
}
return actual;
}
+/** @brief Detect an alias
+ * @param track Track name
+ * @return Nonzero if @p track exists and is an alias
+ */
int trackdb_isalias(const char *track) {
const char *actual = trackdb_resolve(track);
return strcmp(actual, track);
}
int trackdb_isalias(const char *track) {
const char *actual = trackdb_resolve(track);
return strcmp(actual, track);
}
-/* test whether a track exists (perhaps an alias) */
+/** @brief Detect whether a track exists
+ * @param track Track name (can be an alias)
+ * @return Nonzero if @p track exists (whether or not it's an alias)
+ */
int trackdb_exists(const char *track) {
DB_TXN *tid;
int err;
int trackdb_exists(const char *track) {
DB_TXN *tid;
int err;
@@
-1938,7
+1960,9
@@
fail:
return (err == 0);
}
return (err == 0);
}
-/* return the list of tags */
+/** @brief Return list of all known tags
+ * @return NULL-terminated tag list
+ */
char **trackdb_alltags(void) {
int e;
struct vector v[1];
char **trackdb_alltags(void) {
int e;
struct vector v[1];