13 LOG_WARNF(
"^1Can't write DB to %s", filename);
17 for (
int i = 0, n = buf_getsize(db); i < n; ++i)
29#define HM_NEW(this) (this = db_create())
32void db_put(
int db,
string key,
string value);
46 for (
int i = 0; (l =
fgets(fh)); ++i)
60 for (
int j = 2; j < n; j += 2)
63 while ((l =
fgets(fh)));
76 for (
int m, j, i = 0, n = buf_getsize(db); i < n; ++i)
79 for (j = 2; j < m; j += 2)
90#define HM_DELETE(this) db_close(this)
96 return uri_unescape(infoget(bufstr_get(db, h), key));
98#define HM_gets(this, k) db_get(this, k)
100#define db_remove(db, key) db_put(db, key, "")
103void db_put(
int db,
string key,
string value)
106 bufstr_set(db, h, infoadd(bufstr_get(db, h), key, uri_escape(value)));
108#define HM_sets(this, key, val) db_put(this, key, val)
#define tokenizebyseparator
ERASEABLE void db_close(int db)
ERASEABLE int db_load(string filename)
ERASEABLE int db_create()
ERASEABLE void db_save(int db, string filename)
ERASEABLE string db_get(int db, string key)
ERASEABLE void db_put(int db, string key, string value)
ERASEABLE void db_dump(int db, string filename)
strcat(_("^F4Countdown stopped!"), "\n^BG", _("Teams are too unbalanced."))