X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/f16ad9e7befcbd008c053c992cc05ed925a1ec49..c99dcaf6a0f9c7798580fc9f315d7b368c9f972c:/src/tools.c diff --git a/src/tools.c b/src/tools.c index 4a3d52b..6815a36 100644 --- a/src/tools.c +++ b/src/tools.c @@ -1111,6 +1111,23 @@ char *mysep(char **sepstr, char *delim) return(retstr); } +/* Mallocing snprintf * + * + * If it overruns size, it will simply be safely truncated. + */ +char * +x3_msnprintf(const int size, const char *format, ...) +{ + va_list ap; + char* buff = calloc(sizeof(char *), size+1); + + va_start(ap, format); + vsnprintf(buff, size, format, ap); + va_end(ap); + buff = realloc(buff, strlen(buff) + 1); + return buff; +} + char *time2str(time_t thetime) { char *buf, *tmp; @@ -1276,3 +1293,16 @@ char *pretty_mask(char *mask) } return make_nick_user_host(retmask, nick, user, host); } + +int str_is_number(const char *str) +{ + char *ptr; + int ret = false; + for(ptr = (char *)str;*ptr;ptr++) { + if((*ptr >= '0' && *ptr <= '9') || *ptr == '-') + ret = true; + else + return false; + } + return ret; +}