#include #include #include #include #include #include "client.h" int str_to_int(char *str, const char *var, int lower, int upper) { char *endptr; long value; errno=0; value=strtol(str, &endptr, 10); if (!*str || *endptr) { fprintf(stderr, "%s: set variable %s: '%s' is not numeric\n", progname, var, str); exit(1); } if (errno) { fprintf(stderr, "%s: set variable %s: %s\n", progname, var, strerror(errno)); exit(1); } if (valueupper) { fprintf(stderr, "%s: set variable %s: '%li' is " "out of range [%i..%i]\n", progname, var, value, lower, upper); exit(1); } return value; } void die(const char *fmt, ...) { va_list ap; va_start(ap, fmt); fprintf(stderr, "%s: ", progname); vfprintf(stderr, fmt, ap); va_end(ap); exit(1); } void warn(const char *fmt, ...) { va_list ap; va_start(ap, fmt); fprintf(stderr, "%s: ", progname); vfprintf(stderr, fmt, ap); va_end(ap); }