X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Flib%2Fmap.qh;h=ea7f0e1fe26f62143774a14a217047780abb9e6c;hp=57b8f8c67939a113fee43e48d3f00b65673eac67;hb=d865de7a9a17c5a1d9286aec40f68c3530697660;hpb=199bb68d2041f31a18ed33378e41512e97b9be37 diff --git a/qcsrc/lib/map.qh b/qcsrc/lib/map.qh index 57b8f8c67..ea7f0e1fe 100644 --- a/qcsrc/lib/map.qh +++ b/qcsrc/lib/map.qh @@ -4,12 +4,13 @@ // Databases (hash tables) const int DB_BUCKETS = 8192; +ERASEABLE void db_save(int db, string filename) { int fh = fopen(filename, FILE_WRITE); if (fh < 0) { - LOG_WARNINGF("^1Can't write DB to %s\n", filename); + LOG_WARNF("^1Can't write DB to %s", filename); return; } fputs(fh, strcat(ftos(DB_BUCKETS), "\n")); @@ -20,14 +21,17 @@ void db_save(int db, string filename) USING(HashMap, int); +ERASEABLE int db_create() { return buf_create(); } #define HM_NEW(this) (this = db_create()) +ERASEABLE void db_put(int db, string key, string value); +ERASEABLE int db_load(string filename) { int db = buf_create(); @@ -61,10 +65,11 @@ int db_load(string filename) return db; } +ERASEABLE void db_dump(int db, string filename) { int fh = fopen(filename, FILE_WRITE); - if (fh < 0) LOG_FATALF("Can't dump DB to %s\n"); + if (fh < 0) LOG_FATALF("Can't dump DB to %s"); fputs(fh, "0\n"); for (int i = 0, n = buf_getsize(db); i < n; ++i) { @@ -75,12 +80,14 @@ void db_dump(int db, string filename) fclose(fh); } +ERASEABLE void db_close(int db) { buf_del(db); } #define HM_DELETE(this) db_close(this) +ERASEABLE string db_get(int db, string key) { int h = crc16(false, key) % DB_BUCKETS; @@ -90,6 +97,7 @@ string db_get(int db, string key) #define db_remove(db, key) db_put(db, key, "") +ERASEABLE void db_put(int db, string key, string value) { int h = crc16(false, key) % DB_BUCKETS; @@ -97,6 +105,7 @@ void db_put(int db, string key, string value) } #define HM_sets(this, key, val) db_put(this, key, val) +/* void db_test() { LOG_INFO("LOAD...\n"); @@ -110,3 +119,4 @@ void db_test() db_close(db); LOG_INFO("CLOSED.\n"); } +*/