diff --git a/src/dhcpd-pools.c b/src/dhcpd-pools.c index 79afc21..a5cb9d4 100644 --- a/src/dhcpd-pools.c +++ b/src/dhcpd-pools.c @@ -198,11 +198,11 @@ static char parse_command_line_opts(struct conf_t *state, int argc, char **argv) { /* Output sorting option */ struct output_sort *p = state->sorts; - size_t len; + char *ptr = optarg; while (p && p->next) p = p->next; - for (len = 0; len < strlen(optarg); len++) { + while (*ptr) { if (state->sorts == NULL) { state->sorts = xcalloc(1, sizeof(struct output_sort)); @@ -211,7 +211,7 @@ static char parse_command_line_opts(struct conf_t *state, int argc, char **argv) p->next = xcalloc(1, sizeof(struct output_sort)); p = p->next; } - p->func = field_selector(optarg[len]); + p->func = field_selector(*ptr++); } } break;