Группа :: Мониторинг
Пакет: tcptraceroute
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: tcptraceroute-1.5beta7-alt-usage.patch
Скачать
Скачать
diff -upk.orig tcptraceroute-1.5beta7.orig/main.c tcptraceroute-1.5beta7/main.c
--- tcptraceroute-1.5beta7.orig/main.c 2006-03-29 16:11:38 +0000
+++ tcptraceroute-1.5beta7/main.c 2006-03-29 16:28:44 +0000
@@ -296,7 +296,7 @@ int main(int argc, char **argv)
for(i = 1; argv[i]; i++)
{
if (CHECKLONG("--help"))
- usage();
+ print_help();
if (CHECKLONG("--version"))
about();
@@ -386,8 +386,7 @@ int main(int argc, char **argv)
if (argv[i][0] == '-' && argv[i][1] == '-')
{
- fprintf(stderr, "Unknown command line argument: %s\n", argv[i]);
- usage();
+ print_usage("Unknown command line argument: %s", argv[i]);
}
}
@@ -400,7 +399,7 @@ int main(int argc, char **argv)
switch(op)
{
case 'h':
- usage();
+ print_help();
case 'v':
about();
@@ -493,9 +492,8 @@ int main(int argc, char **argv)
case '?':
default:
if (optopt != ':' && strchr(optstring, optopt))
- fatal("Argument required for -%c\n", optopt);
- fprintf(stderr, "Unknown command line argument: -%c\n", optopt);
- usage();
+ print_usage("Argument required for -%c", optopt);
+ print_usage("Unknown command line argument: -%c", optopt);
}
argc -= optind;
@@ -526,7 +524,7 @@ int main(int argc, char **argv)
break;
default:
- usage();
+ print_usage("Invalid number of arguments");
}
if (getuid() & geteuid())
diff -upk.orig tcptraceroute-1.5beta7.orig/util.c tcptraceroute-1.5beta7/util.c
--- tcptraceroute-1.5beta7.orig/util.c 2006-03-29 02:30:44 +0000
+++ tcptraceroute-1.5beta7/util.c 2006-03-29 16:33:26 +0000
@@ -69,14 +69,28 @@ void pfatal(char *err)
exit(1);
}
-void usage(void)
+void print_help(void)
{
printf("\n%s %s\n%s\n", PACKAGE, VERSION, BANNER);
- fatal("\
+ printf("\
Usage: %s [-nNFSAE] [-i <interface>] [-f <first ttl>]\n\
[-l <packet length>] [-q <number of queries>] [-t <tos>]\n\
[-m <max ttl>] [-pP] <source port>] [-s <source address>]\n\
[-w <wait time>] <host> [destination port] [packet length]\n\n", name);
+ exit(0);
+}
+
+void print_usage(char *fmt, ...)
+{
+ va_list ap;
+ fflush(stdout);
+ va_start(ap, fmt);
+ fprintf(stderr, "%s: ", name);
+ vfprintf(stderr, fmt, ap);
+ va_end(ap);
+ fprintf(stderr, "\nTry `%s --help' for more information.\n", name);
+ fflush(stderr);
+ exit(1);
}
void about(void)
diff -upk.orig tcptraceroute-1.5beta7.orig/util.h tcptraceroute-1.5beta7/util.h
--- tcptraceroute-1.5beta7.orig/util.h 2006-03-29 16:10:26 +0000
+++ tcptraceroute-1.5beta7/util.h 2006-03-29 16:32:19 +0000
@@ -56,7 +56,8 @@ void fatal(char *, ...) TCPTRACEROUTE_NO
void debug(char *, ...) TCPTRACEROUTE_FORMAT((__printf__, 1, 2));
void warn(char *, ...) TCPTRACEROUTE_FORMAT((__printf__, 1, 2));
void pfatal(char *) TCPTRACEROUTE_NORETURN;
-void usage(void) TCPTRACEROUTE_NORETURN;
+void print_help(void) TCPTRACEROUTE_NORETURN;
+void print_usage(char *, ...) TCPTRACEROUTE_NORETURN TCPTRACEROUTE_FORMAT((__printf__, 1, 2));
void about(void) TCPTRACEROUTE_NORETURN;
void *xrealloc(void *, int);
char *safe_strncpy(char *, char *, int);