rendered paste body while((c = getopt(argc, argv, "n:c:p:")))
{
switch(c)
{
case 'n':
topn = atoi(optarg);
if(topn < 1)
topn = 10;
break;
case 'c':
code = atoi(optarg);
if(code < 0 || code > 15)
usage(argv[0]);
break;
case 'p':
pn++;
break;
default:
usage(argv[0]);
break;
}
}
if((optind == argc) || (argc - optind > 2))
usage(argv[0]);
{
names = (char **)malloc(sizeof(char *) * (pn + 1));
pn = 0;
getoptreset();
while((c = getopt(argc, argv, "n:c:p:")))
{
if(c == 'p')
names[pn++] = optarg;
}
names[pn] = NULL;
}
av = argv + optind;
fp = fopen(av[0], "r");
if (fp == 0) {
fprintf(stderr, "Couldn't open file %s for read", av[0]);
perror("");
exit(1);
}
if (fstat(fileno(fp), &fstats) < 0) {
fprintf(stderr, "Couldn't fstat file %s", av[0]);
perror("");
exit(1);
}