X-Git-Url: http://git.bytex64.net/?a=blobdiff_plain;f=database%2Futil.c;h=b0ecd17c1976aa2893c784ad80da890fb9bd0b96;hb=c38b2e192d8de8ef38389cc8071881464fff99bb;hp=2accd5d79ac9d1ea82bd726e0eae2002d34363fc;hpb=54789cc8538714fc3622646721f6f2ecceae94ac;p=blerg.git diff --git a/database/util.c b/database/util.c index 2accd5d..b0ecd17 100644 --- a/database/util.c +++ b/database/util.c @@ -2,18 +2,27 @@ * BSD-style license. Please see the COPYING file for details. */ -#define VALID_CHAR(x) (x == ' ' || x == '\'' || x == '-' || x == '.' || (x >= '0' && x <= '9') || (x >= 'A' && x <= 'Z') || x == '_' || (x >= 'a' && x <= 'z')) +#include "database.h" +#include "config.h" -int valid_name(const char *name) { +int valid_name_len(const char *name, int maxlength) { int i; - for (i = 0; i < 32; i++) { + for (i = 0; i < maxlength; i++) { if (name[i] == 0) break; if (!VALID_CHAR(name[i])) return 0; } - if (i >= 32) + if (i >= maxlength) return 0; return 1; } + +int valid_tag_name(const char *name) { + return valid_name_len(name, MAX_TAG_LENGTH); +} + +int valid_name(const char *name) { + return valid_name_len(name, 32); +}