#include #include #include #include int ptn = 0; static void usage(char* prog) { printf("Usage: %s", prog); printf(" -n \n"); return ; } int processopt(int argc, char **argv) { char *cvalue = NULL; signed char c; opterr = 0; while ((c = getopt (argc, argv, "p:")) != -1){ switch (c) { case 'p': cvalue = optarg; if (sscanf(cvalue, "%d", &ptn) ==0 || ptn < 0){ fprintf(stderr, "Invalid spu number(%d)\n", ptn); return -1; } break; case '?': if (isprint (optopt)) fprintf (stderr, "Unknown option `-%c'.\n", optopt); else fprintf (stderr, "Unknown option character `\\x%x'.\n", optopt); usage(argv[0]); return - 1; default: usage(argv[0]); return -1; } } return 0; }