All pastes #624222 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-07-18 03:29 UTC
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);
    }