diff --git a/src/kernel/config.c b/src/kernel/config.c index 7cae41c1e..7120a0439 100644 --- a/src/kernel/config.c +++ b/src/kernel/config.c @@ -1218,16 +1218,6 @@ typedef struct param { char *data; } param; -int getid(void) -{ - const char *str = getstrtoken(); - int i = str ? atoi36(str) : 0; - if (i < 0) { - return -1; - } - return i; -} - const char *get_param(const struct param *p, const char *key) { while (p != NULL) { diff --git a/src/kernel/config.h b/src/kernel/config.h index 908f9b993..75b72c6c2 100644 --- a/src/kernel/config.h +++ b/src/kernel/config.h @@ -119,12 +119,8 @@ extern "C" { bool isparam(const char *s, const struct locale * lang, param_t param); param_t getparam(const struct locale *lang); - int getid(void); #define unitid(x) itoa36((x)->no) -#define getshipid() getid() -#define getfactionid() getid() - #define buildingid(x) itoa36((x)->no) #define shipid(x) itoa36((x)->no) #define factionid(x) itoa36((x)->no) diff --git a/src/util/parser.c b/src/util/parser.c index 5cd8f08ed..2520fd170 100644 --- a/src/util/parser.c +++ b/src/util/parser.c @@ -1,6 +1,7 @@ #include #include "parser.h" #include "unicode.h" +#include "base36.h" #include "log.h" #include @@ -200,3 +201,13 @@ const char *getstrtoken(void) { return parse_token((const char **)&states->current_token); } + +int getid(void) +{ + const char *str = getstrtoken(); + int i = str ? atoi36(str) : 0; + if (i < 0) { + return -1; + } + return i; +} diff --git a/src/util/parser.h b/src/util/parser.h index 521987174..c268ad22a 100644 --- a/src/util/parser.h +++ b/src/util/parser.h @@ -14,13 +14,16 @@ extern "C" { #endif - extern void init_tokens_str(const char *initstr, char *cmd); /* initialize token parsing, take ownership of cmd */ - extern void skip_token(void); - extern const char *parse_token(const char **str); - extern void parser_pushstate(void); - extern void parser_popstate(void); - extern bool parser_end(void); - extern const char *getstrtoken(void); + void init_tokens_str(const char *initstr, char *cmd); /* initialize token parsing, take ownership of cmd */ + void skip_token(void); + const char *parse_token(const char **str); + void parser_pushstate(void); + void parser_popstate(void); + bool parser_end(void); + const char *getstrtoken(void); + int getid(void); +#define getshipid() getid() +#define getfactionid() getid() #ifdef __cplusplus }