summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2019-09-23 02:04:43 +0200
committerGitHub <noreply@github.com>2019-09-23 02:04:43 +0200
commit579064db1eb50e73558dc8e81e81dd7a24f3b246 (patch)
tree48d1bb149fee8d3e4a27303d50d41d432c24fe8b /src/plugins
parent7121899a562856863984ce90268e9af37769b346 (diff)
parent3be1dd0c728e31743c793c78ceab97b2391fb3ac (diff)
downloadhercules-579064db1eb50e73558dc8e81e81dd7a24f3b246.tar.gz
hercules-579064db1eb50e73558dc8e81e81dd7a24f3b246.tar.bz2
hercules-579064db1eb50e73558dc8e81e81dd7a24f3b246.tar.xz
hercules-579064db1eb50e73558dc8e81e81dd7a24f3b246.zip
Merge pull request #2535 from HerculesWS/itemdb_violation
Fixed several issues in itemdb_search_name function
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/constdb2doc.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/plugins/constdb2doc.c b/src/plugins/constdb2doc.c
index 3f681ea1a..ebaf7a833 100644
--- a/src/plugins/constdb2doc.c
+++ b/src/plugins/constdb2doc.c
@@ -22,7 +22,8 @@
/// db/constants.conf -> doc/constants.md generator plugin
#include "common/hercules.h"
-//#include "common/memmgr.h"
+#include "common/db.h"
+#include "common/memmgr.h"
#include "common/nullpo.h"
#include "common/strlib.h"
#include "map/itemdb.h"
@@ -143,17 +144,26 @@ struct item_data *constdb2doc_itemdb_search(int nameid)
void constdb2doc_itemdb(void)
{
- int i;
-
nullpo_retv(out_fp);
fprintf(out_fp, "## Items (db/"DBPATH"item_db.conf)\n");
- for (i = 0; i < ARRAYLENGTH(itemdb->array); i++) {
+ for (int i = 0; i < ARRAYLENGTH(itemdb->array); i++) {
struct item_data *id = constdb2doc_itemdb_search(i);
if (id == NULL || id->name[0] == '\0')
continue;
fprintf(out_fp, "- `%s`: %d\n", id->name, id->nameid);
}
+
+ if (db_size(itemdb->other) > 0) {
+ struct DBIterator *iter = db_iterator(itemdb->other);
+ for (struct item_data *itd = dbi_first(iter); dbi_exists(iter); itd = dbi_next(iter)) {
+ if (itd == &itemdb->dummy)
+ continue;
+ fprintf(out_fp, "- `%s`: %d\n", itd->name, itd->nameid);
+ }
+ dbi_destroy(iter);
+ }
+
fprintf(out_fp, "\n");
}