X-Git-Url: http://git.asbjorn.biz/?p=debian%2Fdhcpd-pools.git;a=blobdiff_plain;f=src%2Fdhcpd-pools.c;h=db8495b13200f8b68061bddcaf30245751b3867d;hp=ef18faa8383bb31502edfa24df7dbfa6f77de138;hb=b492802dfa7bf928bbafe74194ca4f154c70f743;hpb=f32e023ecf6af961f5b39f03285349336e59f214 diff --git a/src/dhcpd-pools.c b/src/dhcpd-pools.c index ef18faa..db8495b 100644 --- a/src/dhcpd-pools.c +++ b/src/dhcpd-pools.c @@ -1,19 +1,18 @@ -/* -** Copyright (C) 2006- Sami Kerola -** -** This program is free software; you can redistribute it and/or modify +/* http://dhcpd-pools.sourceforge.net/ +** Copyright 2006- Sami Kerola +** +** This program is free software: you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2 of the License, or +** the Free Software Foundation, either version 3 of the License, or ** (at your option) any later version. -** +** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. -** +** ** You should have received a copy of the GNU General Public License -** along with this program; if not, write to the Free Software -** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +** along with this program. If not, see . */ #ifdef HAVE_CONFIG_H @@ -115,13 +114,17 @@ int main(int argc, char **argv) /* Output sorting option */ sorts = strlen(optarg); if (5 < sorts) { - warnx("main: only first 5 sort orders will be used"); + warnx + ("main: only first 5 sort orders will be used"); strncpy(config.sort, optarg, (size_t) 5); sorts = 5; } else { strncpy(config.sort, optarg, (size_t) sorts); } + for (i = 0; i < sorts; i++) { + field_selector(config.sort[i]); + } break; case 'r': /* What ever sort in reverse order */ @@ -148,7 +151,6 @@ int main(int argc, char **argv) case 'v': /* Print version */ print_version(); - return (EXIT_SUCCESS); case 'h': /* Print help */ usage(EXIT_SUCCESS); @@ -181,7 +183,7 @@ int main(int argc, char **argv) output_analysis = output_csv; break; default: - errx(EXIT_FAILURE, "main: unknown ouput format `%c'", + errx(EXIT_FAILURE, "main: unknown output format `%c'", config.output_format[0]); } @@ -191,12 +193,6 @@ int main(int argc, char **argv) shared_net_names + strlen(shared_net_names) + 1, shared_networks); - /* FIXME: move to output.c and use FILE *outfile */ - if ((config.output_format[0] == 'x') - || (config.output_format[0] == 'X')) { - printf("\n"); - }; - parse_leases(); prepare_data(); do_counting(); @@ -209,19 +205,6 @@ int main(int argc, char **argv) } free(tmp_ranges); output_analysis(); - /* After fopen in ouput ioctl does like /dev/null which - * cause ENOTTY, and clean_up will see that without this - * reset. At least linux does this, and possibly some - * other systems. There's a report from FreeBSD 8.0 which - * matches quite well with the symptom. */ - if (errno == 25) - errno = 0; - - /* FIXME: move to output.c and use FILE *outfile */ - if ((config.output_format[0] == 'x') - || (config.output_format[0] == 'X')) { - printf("\n"); - }; clean_up(); return (EXIT_SUCCESS); @@ -230,6 +213,7 @@ int main(int argc, char **argv) /* Global allocations, counter resets etc */ int prepare_memory() { + RANGES = 64; num_ranges = num_shared_networks = 0; shared_networks = safe_malloc(sizeof(struct shared_network_t) * SHARED_NETWORKS); @@ -237,6 +221,7 @@ int prepare_memory() safe_malloc(sizeof(char) * SHARED_NETWORKS_NAMES); ranges = safe_malloc(sizeof(struct range_t) * RANGES); + macaddr = NULL; /* First shared network entry is all networks */ strcpy(shared_net_names, "All networks");