diff options
author | gramanas <anastasis.gramm2@gmail.com> | 2021-09-02 17:23:42 +0300 |
---|---|---|
committer | gramanas <anastasis.gramm2@gmail.com> | 2021-09-02 17:23:42 +0300 |
commit | 9deed51aa2df7ca5979963f7452a6439ad2d3767 (patch) | |
tree | 7ceea0494c01eeff7e7fdaaa8b1bfc7e5adf62c1 /util.c | |
download | foodtools-9deed51aa2df7ca5979963f7452a6439ad2d3767.tar.gz foodtools-9deed51aa2df7ca5979963f7452a6439ad2d3767.tar.bz2 foodtools-9deed51aa2df7ca5979963f7452a6439ad2d3767.zip |
initial
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 54 |
1 files changed, 54 insertions, 0 deletions
@@ -0,0 +1,54 @@ +#include "util.h" + +void +fdebug(const char *fmt, ...) +{ +#ifdef _FOOD_DEBUG + va_list ap; + + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + va_end(ap); +#else + return; +#endif +} + +void +die(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + va_end(ap); + + if (fmt[0] && fmt[strlen(fmt)-1] == ':') { + fputc(' ', stderr); + perror(NULL); + } else { + fputc('\n', stderr); + } + + exit(1); +} + +void +trim(char * str) +{ + int i; + int begin = 0; + int end = strlen(str) - 1; + + while (isspace((unsigned char) str[begin])) + begin++; + + while (isspace((unsigned char) str[end]) && (end >= begin)) + end--; + + /* Shift all characters back to the start of the string array. */ + for (i = begin; i <= end; i++) + str[i - begin] = str[i]; + + str[i - begin] = '\0'; +} |