Patch from debian. Just reorders usage output and getopt options to ease adding new features. diff -Naru arpwatch-2.1a15.orig/arpsnmp.8 arpwatch-2.1a15/arpsnmp.8 --- arpwatch-2.1a15.orig/arpsnmp.8 2006-09-22 17:18:02.000000000 +0400 +++ arpwatch-2.1a15/arpsnmp.8 2006-09-22 18:17:44.000000000 +0400 @@ -27,10 +27,15 @@ .B arpsnmp [ .B -d -] [ +] +.br +.ti +8 +[ .B -f .I datafile ] +.br +.ti +8 .I file [ .I ... diff -Naru arpwatch-2.1a15.orig/arpsnmp.c arpwatch-2.1a15/arpsnmp.c --- arpwatch-2.1a15.orig/arpsnmp.c 2004-01-23 01:25:17.000000000 +0300 +++ arpwatch-2.1a15/arpsnmp.c 2006-09-22 18:17:15.000000000 +0400 @@ -78,6 +78,10 @@ register char *cp; register int op, i; char errbuf[256]; + char options[] = + "d" + "f:" + ; if ((cp = strrchr(argv[0], '/')) != NULL) prog = cp + 1; @@ -90,7 +94,7 @@ } opterr = 0; - while ((op = getopt(argc, argv, "df:")) != EOF) + while ((op = getopt(argc, argv, options)) != EOF) switch (op) { case 'd': @@ -182,9 +186,14 @@ usage(void) { extern char version[]; + char usage[] = + "[-d] " + "[-f datafile] " + "file [...]\n" + ; (void)fprintf(stderr, "Version %s\n", version); (void)fprintf(stderr, - "usage: %s [-d] [-f datafile] file [...]\n", prog); + "usage: %s %s", prog, usage); exit(1); } diff -Naru arpwatch-2.1a15.orig/arpwatch.8 arpwatch-2.1a15/arpwatch.8 --- arpwatch-2.1a15.orig/arpwatch.8 2006-09-22 17:18:02.000000000 +0400 +++ arpwatch-2.1a15/arpwatch.8 2006-09-22 18:19:20.000000000 +0400 @@ -28,10 +28,16 @@ .B arpwatch [ .B -dN -] [ +] +.br +.ti +8 +[ .B -f .I datafile -] [ +] +.br +.ti +8 +[ .B -i .I interface ] @@ -40,7 +46,10 @@ [ .B -n .IR net [/ width -]] [ +]] +.br +.ti +8 +[ .B -r .I file ] diff -Naru arpwatch-2.1a15.orig/arpwatch.c arpwatch-2.1a15/arpwatch.c --- arpwatch-2.1a15.orig/arpwatch.c 2004-01-23 01:18:20.000000000 +0300 +++ arpwatch-2.1a15/arpwatch.c 2006-09-22 18:22:35.000000000 +0400 @@ -153,6 +153,14 @@ register char *interface, *rfilename; struct bpf_program code; char errbuf[PCAP_ERRBUF_SIZE]; + char options[] = + "d" + "f:" + "i:" + "n:" + "N" + "r:" + ; if (argv[0] == NULL) prog = "arpwatch"; @@ -170,7 +178,7 @@ interface = NULL; rfilename = NULL; pd = NULL; - while ((op = getopt(argc, argv, "df:i:n:Nr:")) != EOF) + while ((op = getopt(argc, argv, options)) != EOF) switch (op) { case 'd': @@ -201,7 +209,6 @@ case 'r': rfilename = optarg; break; - default: usage(); } @@ -748,9 +755,16 @@ usage(void) { extern char version[]; + char usage[] = + "[-dN] " + "[-f datafile] " + "[-i interface] " + "[-n net[/width]] " + "[-r file] " + "\n" + ; (void)fprintf(stderr, "Version %s\n", version); - (void)fprintf(stderr, "usage: %s [-dN] [-f datafile] [-i interface]" - " [-n net[/width]] [-r file]\n", prog); + (void)fprintf(stderr, "usage: %s %s", prog, usage); exit(1); }