#include #include #include #include "util.h" bool parse_host_port(const char *arg, const char **server_host, int *port) { const char *ptr = strchr(arg, ':'); if (ptr == NULL) { *server_host = arg; } else { size_t length = ptr - arg; char *host = malloc(length + 1); if (!host) { fprintf(stderr, "Cannot allocate memory!\n"); exit(1); } memcpy(host, arg, length); host[length] = '\0'; *server_host = host; char *endp; *port = strtol(ptr + 1, &endp, 10); if (endp == ptr || *endp != '\0') { return false; } } return true; }