kpmpgsmkii/shared/array.c
2021-11-22 20:25:05 -06:00

49 lines
1.3 KiB
C

/*
* Kangaroo Punch MultiPlayer Game Server Mark II
* Copyright (C) 2020-2021 Scott Duensing
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#include "array.h"
#define STB_DS_IMPLEMENTATION
#include "thirdparty/stb_ds.h"
void arrayHashMapDump(HashMapT *hashMap) {
// Show hashmap contents.
for (size_t i=0; i<shlenu(hashMap); i++) {
if (hashMap[i].value.string) {
logWrite("%s: %s\n", hashMap[i].key, hashMap[i].value.string);
} else {
logWrite("%s: %d\n", hashMap[i].key, hashMap[i].value.integer);
}
}
}
void arrayHashMapFree(HashMapT **hashMap) {
HashMapT *h = *hashMap;
// Free hashmap storage.
for (size_t i=0; i<shlenu(h); i++) {
if (h[i].value.string) DEL(h[i].value.string);
}
shfree(h);
h = NULL;
*hashMap = h;
}