static int parse_type(char *string);
-static void usage(void);
+static void usage(gboolean is_error);
static void seed(void);
static pkt_example* find_example(int type);
break;
case 'h':
+ usage(FALSE);
+ break;
default:
- usage();
+ usage(TRUE);
break;
}
}
produce_filename = argv[optind];
}
else {
- usage();
+ usage(TRUE);
}
example = find_example(produce_type);
}
/* Print usage statement and exit program */
-static
-void usage(void)
+static void
+usage(gboolean is_error)
{
- int num_entries = array_length(examples);
- int i;
+ FILE *output;
+ int num_entries = array_length(examples);
+ int i;
- printf("Usage: randpkt [-b maxbytes] [-c count] [-t type] filename\n");
- printf("Default max bytes (per packet) is 5000\n");
- printf("Default count is 1000.\n");
- printf("Types:\n");
+ if (!is_error) {
+ output = stdout;
+ }
+ else {
+ output = stderr;
+ }
+
+ fprintf(output, "Usage: randpkt [-b maxbytes] [-c count] [-t type] filename\n");
+ fprintf(output, "Default max bytes (per packet) is 5000\n");
+ fprintf(output, "Default count is 1000.\n");
+ fprintf(output, "Types:\n");
for (i = 0; i < num_entries; i++) {
- printf("\t%-16s%s\n", examples[i].abbrev, examples[i].longname);
+ fprintf(output, "\t%-16s%s\n", examples[i].abbrev, examples[i].longname);
}
- printf("\n");
+ fprintf(output, "\n");
- exit(0);
+ exit(is_error ? 1 : 0);
}
/* Parse command-line option "type" and return enum type */
seed(void)
{
unsigned int randomness;
- time_t now;
+ time_t now;
#ifndef _WIN32
int fd;
ssize_t ret;
srand(randomness);
}
+
+/*
+ * Editor modelines - http://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 8
+ * tab-width: 8
+ * indent-tabs-mode: t
+ * End:
+ *
+ * vi: set shiftwidth=8 tabstop=8 noexpandtab:
+ * :indentSize=8:tabSize=8:noTabs=false:
+ */