int main(int argc, char *argv[]) { int start_dir, end_dir; char *cp; /* * parse args */ if (argc < 4 || argc > 6) usage(); hc_host = argv[1]; cp = strtok(hc_host, ":"); cp = strtok(NULL, ":"); if (cp != NULL) port = atoi(cp); start_dir = atoi(argv[2]); if (start_dir < 0 || start_dir > MAX_DIR_DENSITY-1) usage(); end_dir = atoi(argv[3]); if (end_dir < start_dir || end_dir > MAX_DIR_DENSITY-1) usage(); if (argc > 4) checkopt(argv[4]); if (argc > 5) checkopt(argv[5]); /* * init for test or real mode */ if (!strcmp(hc_host, "print")) { hc_host = NULL; } else { connect_server(); } /* * launch findprop's */ time(&start); of_gen_files(start_dir, end_dir, NULL, ALL_DIRS, &mk_dir); /* * clean up */ quit(0); return 0; /* for lint */ }
int get_opt(t_env *e, int ac, char **av) { int i; int opt; int flag; i = 0; opt = OPT_NONE; while (i++, av[i] && i < ac) { flag = EX_SUCCESS; if (av[i][0] == '-') opt = checkopt(av[i]); else if (opt == OPT_PORT || opt == OPT_NBCLI || opt == OPT_TIME) flag = getoptnumbers(e, opt, av[i]); else if (opt == OPT_WIDTH || opt == OPT_HEIGHT) flag = getwinsize(e, opt, av[i]); else if (opt == OPT_TEAM) flag = getteams(e, av[i]); if (opt == EX_ERROR || flag == EX_ERROR) return (EX_ERROR); } if (e->team == NULL) return (EX_ERROR); set_team_maxplayer(e); return (EX_SUCCESS); }
int main(int argc, char *argv[]) { char *cp, *remote_path; off_t start, end; /* * parse args */ if (argc < 5 || argc > 8) usage(); hc_host = argv[1]; cp = strtok(hc_host, ":"); cp = strtok(NULL, ":"); if (cp != NULL) port = atoi(cp); remote_path = argv[2]; start = atoi(argv[3]); if (start < 0) usage(); end = atoi(argv[4]); if (end < start) usage(); if (argc > 5) { int next = 5; if (!strcmp(argv[next], "-o")) { next++; strcpy(tmp_fname, argv[next]); next++; } else sprintf(tmp_fname, "/tmp/of_get.%d", getpid()); if (argc > next) checkopt(argv[next]); } connect_server(); /* * get */ /* time(&start_time); */ get_file(remote_path, start, end); /* * clean up */ quit(0); return 0; /* for lint */ }
int main(int argc, char **argv) { struct bitmask *mask1 = NULL, *mask2 = NULL, *mask3 = NULL; char buff[MAX_STRING_SIZE]; checkopt(argc, argv); mask1 = bitmask_alloc(MAX_NBITS); if (mask1 == NULL) err(EXIT_FAILURE, "alloc memory space for bitmask1 failed."); mask2 = bitmask_alloc(MAX_NBITS); if (mask2 == NULL) err(EXIT_FAILURE, "alloc memory space for bitmask2 failed."); mask3 = bitmask_alloc(MAX_NBITS); if (mask3 == NULL) err(EXIT_FAILURE, "alloc memory space for bitmask3 failed."); if (bitmask_parselist(argv[argc - 2 + convert], mask1) != 0) err(EXIT_FAILURE, "parse list1 string failed."); if (convert) { bitmask_displaylist(buff, MAX_STRING_SIZE, mask1); printf("%s\n", buff); return 0; } if (bitmask_parselist(argv[argc - 1], mask2) != 0) err(EXIT_FAILURE, "parse list2 string failed."); if (add_or_subtract) bitmask_andnot(mask3, mask1, mask2); else bitmask_or(mask3, mask1, mask2); bitmask_displaylist(buff, MAX_STRING_SIZE, mask3); printf("%s\n", buff); return 0; }
int main(int argc, char **argv) { int i = 0; pid_t pid; pid_t *childpids = NULL; sigset_t sigset; int status = 0; int ret = 0; checkopt(argc, argv); if (initialize()) { warn("initialize failed"); report_result("2\n"); exit(EXIT_FAILURE); } if (sigemptyset(&sigset) < 0) { warn("sigemptyset failed"); report_result("2\n"); exit(EXIT_FAILURE); } childpids = malloc((nprocs) * sizeof(pid_t)); if (childpids == NULL) { warn("alloc for child pids failed"); report_result("2\n"); exit(EXIT_FAILURE); } memset(childpids, 0, (nprocs) * sizeof(pid_t)); report_result("0\n"); sigsuspend(&sigset); for (; i < nprocs; i++) { pid = fork(); if (pid == -1) { while (--i >= 0) kill(childpids[i], SIGKILL); warn("fork test tasks failed"); report_result("2\n"); exit(EXIT_FAILURE); } else if (!pid) { ret = cpu_hog(); exit(ret); } childpids[i] = pid; } report_result("0\n"); while (!end) { if (sigemptyset(&sigset) < 0) ret = -1; else sigsuspend(&sigset); if (ret || end) { for (i = 0; i < nprocs; i++) { kill(childpids[i], SIGUSR2); } break; } else { for (i = 0; i < nprocs; i++) { kill(childpids[i], SIGUSR1); } } } for (i = 0; i < nprocs; i++) { wait(&status); if (status) ret = EXIT_FAILURE; } free(childpids); return ret; }
int readopt( char *sopt) { char sparamstore[256], *sparam= sparamstore; long n=0; /* changed from short to long - James J (UQ) */ /* fprintf(stderr,"readopt( %s) == ", sopt); */ if (*sopt == '?') { usage(); return kOptNone; /*? eOptionBad or kOptNone */ } else if (*sopt == '-') { char *cp= strchr(sopt,'='); *sparam= '\0'; if (cp) { strcpy(sparam, cp+1); *cp= 0; } if (checkopt( false, sopt, "-help", 2)) { usage(); return kOptNone; } if (checkopt( false, sopt, "-all", 2)) { whichSeq= 1; chooseall= true; return kOptOkay; } if (checkopt( false, sopt, "-colspace", 4)) { /* test before -c[ase] */ n= atoi( sparam); gPretty.spacer = n; return kOptOkay; } if (checkopt( true, sopt, "-caselower", 2)) { dolower= true; return kOptOkay; } if (checkopt( true, sopt, "-CASEUPPER", 2)) { doupper= true; return kOptOkay; } if (checkopt( false, sopt, "-pipe", 2)) { dopipe= true; askout= false; return kOptOkay; } if (checkopt( false, sopt, "-list", 2)) { listonly = true; askout = false; return kOptOkay; } if (checkopt( false, sopt, "-reverse", 2)) { doreverse = true; return kOptOkay; } if (checkopt( false, sopt, "-verbose", 2)) { verbose = true; return kOptOkay; } if (checkopt( false, sopt, "-match", 5)) { gPretty.domatch= true; if (*sparam >= ' ') gPretty.matchchar= *sparam; return kOptOkay; } if (checkopt( false, sopt, "-degap", 4)) { gPretty.degap= true; if (*sparam >= ' ') gPretty.gapchar= *sparam; return kOptOkay; } if (checkopt( false, sopt, "-interline", 4)) { gPretty.interline= atoi( sparam); return kOptOkay; } if (checkopt( false, sopt, "-item", 2)) { char *cp = sparam; nwhichlist= 0; whichlist[0]= 0; if (*cp == 0) cp= sopt+2; /* compatible w/ old way */ do { while (*cp!=0 && !isdigit((int) *cp)) cp++; if (*cp!=0) { n = atol( cp); /* changed from atoi to atol - James J (UQ) */ whichlist[nwhichlist++]= n; while (*cp!=0 && isdigit((int) *cp)) cp++; } } while (*cp!=0 && n>0 && nwhichlist<kMaxwhichlist); whichlist[nwhichlist++]= 0; /* 0 == stopsign for loop */ whichSeq= max(1,whichlist[0]); iwhichlist= 1; return kOptOkay; } if (checkopt( false, sopt, "-format", 5)) {/* -format=phylip, -f2, -form=phylip */ if (*sparam==0) { for (sparam= sopt+2; isalpha((int) *sparam); sparam++) ; } outform = parseformat( sparam); return kOptOkay; } if (checkopt( false, sopt, "-f", 2)) { /* compatible w/ -fphylip prior version */ if (*sparam==0) sparam= sopt+2; outform = parseformat( sparam); return kOptOkay; } if (checkopt( false, sopt, "-output", 3)) {/* -output=myseq */ if (*sparam==0) { for (sparam= sopt+3; isalpha((int) *sparam); sparam++) ; } strcpy( oname, sparam); foo = fopen( oname, "w"); if (!foo) { erralert(eFileCreate); return eFileCreate; } closeout = true; askout = false; return kOptOkay; } if (checkopt( false, sopt, "-o", 2)) { /* compatible w/ -omyseq prior version */ if (*sparam==0) sparam= sopt+2; strcpy( oname, sparam); foo = fopen( oname, "w"); if (!foo) { erralert(eFileCreate); return eFileCreate; } closeout = true; askout = false; return kOptOkay; } if (checkopt( false, sopt, "-width", 2)) { if (*sparam==0) { for (sparam= sopt+2; !isdigit((int) *sparam) && *sparam!=0; sparam++) ; } n= atoi( sparam); if (n>0) gPretty.seqwidth = n; return kOptOkay; } if (checkopt( false, sopt, "-tab", 4)) { if (*sparam==0) { for (sparam= sopt+2; !isdigit((int) *sparam) && *sparam!=0; sparam++) ; } n= atoi( sparam); gPretty.tab = n; return kOptOkay; } if (checkopt( false, sopt, "-gapcount", 4)) { gPretty.baseonlynum = false; /* if (*sparam >= ' ') gPretty.gapchar= *sparam; */ return kOptOkay; } if (checkopt( false, sopt, "-nointerleave", 8)) { gPretty.noleaves = true; return kOptOkay; } if (checkopt( false, sopt, "-nameleft", 7)) { if (*sparam==0) { for (sparam= sopt+2; !isdigit((int) *sparam) && *sparam!=0; sparam++) ; } n= atoi( sparam); if (n>0 && n<50) gPretty.namewidth = n; gPretty.nameleft= true; return kOptOkay; } if (checkopt( false, sopt, "-nameright", 7)) { if (*sparam==0) { for (sparam= sopt+2; !isdigit((int) *sparam) && *sparam!=0; sparam++) ; } n= atoi( sparam); if (n>0 && n<50) gPretty.namewidth = n; gPretty.nameright= true; return kOptOkay; } if (checkopt( false, sopt, "-nametop", 6)) { gPretty.nametop= true; return kOptOkay; } if (checkopt( false, sopt, "-numleft", 6)) { if (*sparam==0) { for (sparam= sopt+2; !isdigit((int) *sparam) && *sparam!=0; sparam++) ; } n= atoi( sparam); if (n>0 && n<50) gPretty.numwidth = n; gPretty.numleft= true; return kOptOkay; } if (checkopt( false, sopt, "-numright", 6)) { if (*sparam==0) { for (sparam= sopt+2; !isdigit((int) *sparam) && *sparam!=0; sparam++) ; } n= atoi( sparam); if (n>0 && n<50) gPretty.numwidth = n; gPretty.numright= true; return kOptOkay; } if (checkopt( false, sopt, "-numtop", 6)) { gPretty.numtop= true; return kOptOkay; } if (checkopt( false, sopt, "-numbottom", 6)) { gPretty.numbot= true; return kOptOkay; } else { usage(); return eOptionBad; } } else { strcpy( inputfile, sopt); gotinputfile = (*inputfile != 0); nfile++; return kOptOkay; } /* return kOptNone; -- never here */ }
int main(int argc, char *argv[]) { int start_dir, end_dir; char *cp, *f_basename; int files_per_dir; /* * parse args */ if (argc < 6 || argc > 8) usage(); hc_host = argv[1]; cp = strtok(hc_host, ":"); cp = strtok(NULL, ":"); if (cp != NULL) port = atoi(cp); start_dir = atoi(argv[2]); if (start_dir < 0 || start_dir > MAX_DIR_DENSITY-1) usage(); end_dir = atoi(argv[3]); if (end_dir < start_dir || end_dir > MAX_DIR_DENSITY-1) usage(); f_basename = argv[4]; files_per_dir = atoi(argv[5]); //if (files_per_dir < 1) //usage(); if (argc == 7) checkopt(argv[6]); if (argc == 8) { checkopt(argv[6]); checkopt(argv[7]); } /* * init for test or real mode */ time(&start); if (!strcmp(hc_host, "print")) { hc_host = NULL; } else { connect_server(); sprintf(tmp_fname, "/mnt/test/of_get.%d", getpid()); } /* * launch 'gets' */ time(&start); of_gen_files(start_dir, end_dir, f_basename, files_per_dir, &get_file); /* * clean up */ if (strcmp(hc_host, "print")) { unlink(tmp_fname); } quit(0); return 0; /* for lint */ }