int main(int argc, char **argv) { char *outtyp; char *outcomp; int forcehead; int stdret; dsk_format_t format; if (argc < 2) return help(argc, argv); if (find_arg("--help", argc, argv) > 0) return help(argc, argv); stdret = standard_args(argc, argv); if (!stdret) return 0; ignore_arg("-itype", 2, &argc, argv); ignore_arg("-iside", 2, &argc, argv); ignore_arg("-icomp", 2, &argc, argv); ignore_arg("-otype", 2, &argc, argv); ignore_arg("-oside", 2, &argc, argv); ignore_arg("-ocomp", 2, &argc, argv); outtyp = check_type("-type", &argc, argv); if (!outtyp) outtyp = "dsk"; outcomp = check_type("-comp", &argc, argv); forcehead = check_forcehead("-side", &argc, argv); format = check_format("-format", &argc, argv); retries = check_retry("-retry", &argc, argv); if (format == -1) format = FMT_180K; args_complete(&argc, argv); return do_format(argv[1], outtyp, outcomp, forcehead, format); }
int main(int argc, char **argv) { char *outtyp; char *outcomp; int forcehead; int n, err; int stdret = standard_args(argc, argv); if (!stdret) return 0; if (argc < 2) return help(argc, argv); ignore_arg("-itype", 2, &argc, argv); ignore_arg("-iside", 2, &argc, argv); ignore_arg("-icomp", 2, &argc, argv); ignore_arg("-otype", 2, &argc, argv); ignore_arg("-oside", 2, &argc, argv); ignore_arg("-ocomp", 2, &argc, argv); outtyp = check_type("-type", &argc, argv); outcomp = check_type("-comp", &argc, argv); forcehead = check_forcehead("-side", &argc, argv); retries = check_retry("-retry", &argc, argv); if (find_arg("--help", argc, argv) > 0) return help(argc, argv); args_complete(&argc, argv); err = 0; for (n = 1; n < argc; n++) { if (do_login(argc, argv[n], outtyp, outcomp, forcehead)) ++err; } return err; }
/** Return list of process environment variables, ending in `\0\0' * * This wraps getevars(3) but allocates the string automatically using * psi_malloc() and guarantees the complete environment is returned. * * Returns -1 in case of an error and -2 if the process is gone. On success * the number of environment variables in the argument list is returned. */ static int mygetevars(struct procentry64 *procent, char **envp) { /* XXX `n' should be `usigned int' and args_sz & i `ssize_t' but getargs() * uses `int' for `args_sz' bizzarly enough. --flub */ char *ptr; int size = 250; /* size of `envp' */ int n; /* number of environment variables */ int r; *envp = (char*)psi_malloc(size); if (*envp == NULL) return -1; r = getevars(procent, sizeof(struct procentry64), *envp, size); if (r < 0) { psi_free(*envp); if (errno == ESRCH) /* proc gone walkies */ return -2; else { PyErr_SetFromErrnoWithFilename(PyExc_OSError, "getevars()"); return -1; } } n = args_complete(*envp, size); while (n < 0) { size += 250; ptr = (char*)psi_realloc(*envp, size); if (ptr == NULL) { psi_free(*envp); return -1; } *envp = ptr; r = getevars(procent, sizeof(struct procentry64), *envp, size); if (r < 0) { psi_free(*envp); if (errno == ESRCH) /* proc gone walkies */ return -2; else { PyErr_SetFromErrnoWithFilename(PyExc_OSError, "getevars()"); return -1; } } n = args_complete(*envp, size); } return n; }
/** Return list of process arguments, ending in `\0\0' * * This wraps getargs(3) but allocates the string automatically using * psi_malloc() and guarantees the complete argument list is returned. * * Returns -1 in case of an error and -2 if the process is gone. On success * the number of arguments in the argument list is returned. */ static int mygetargs(struct procentry64 *procbuff, char **args) { /* XXX nargs should be `usigned int' and args_sz & i `ssize_t' but getargs() * uses int for args_sz bizzarly enough. --flub */ char *ptr; int size = 250; /* size of `args' */ int nargs; int r; *args = (char*)psi_malloc(size); if (*args == NULL) return -1; r = getargs(procbuff, sizeof(struct procentry64), *args, size); if (r < 0) { psi_free(*args); if (errno == ESRCH) /* proc gone walkies */ return -2; else { PyErr_SetFromErrnoWithFilename(PyExc_OSError, "getargs()"); return -1; } } nargs = args_complete(*args, size); while (nargs < 0) { size += 250; ptr = (char*)psi_realloc(*args, size); if (ptr == NULL) { psi_free(*args); return -1; } *args = ptr; r = getargs(procbuff, sizeof(struct procentry64), *args, size); if (r < 0) { psi_free(*args); if (errno == ESRCH) /* proc gone walkies */ return -2; else { PyErr_SetFromErrnoWithFilename(PyExc_OSError, "getargs()"); return -1; } } nargs = args_complete(*args, size); } return nargs; }
int main(int argc, char **argv) { char *outtyp; char *outcomp; int forcehead; int n, err; if (argc < 2) return help(argc, argv); ignore_arg("-itype", 2, &argc, argv); ignore_arg("-iside", 2, &argc, argv); ignore_arg("-icomp", 2, &argc, argv); ignore_arg("-otype", 2, &argc, argv); ignore_arg("-oside", 2, &argc, argv); ignore_arg("-ocomp", 2, &argc, argv); outtyp = check_type("-type", &argc, argv); outcomp = check_type("-comp", &argc, argv); forcehead = check_forcehead("-side", &argc, argv); retries = check_retry("-retry", &argc, argv); format = check_format("-format", &argc, argv); if (find_arg("--help", argc, argv) > 0) return help(argc, argv); if (find_arg("--version", argc, argv) > 0) return version(); if ((n = find_arg("--pcdos", argc, argv) > 0)) { md = FORCE_PCDOS; excise_arg(n, &argc, argv); } if ((n = find_arg("-pcdos", argc, argv) > 0)) { md = FORCE_PCDOS; excise_arg(n, &argc, argv); } if ((n = find_arg("--apricot", argc, argv) > 0)) { md = FORCE_APRICOT; excise_arg(n, &argc, argv); } if ((n = find_arg("-apricot", argc, argv) > 0)) { md = FORCE_APRICOT; excise_arg(n, &argc, argv); } args_complete(&argc, argv); err = 0; for (n = 1; n < argc; n++) { if (do_swapboot(argc, argv[n], outtyp, outcomp, forcehead)) ++err; } return err; }
int main(int argc, char **argv) { char *outtyp; char *outcomp; int forcehead; int np; int stdret; stdret = standard_args(argc, argv); if (!stdret) return 0; if (find_arg("-libdskrc", argc, argv) > 0 || find_arg("--libdskrc", argc, argv) > 0) { return dump_libdskrc(); } if (argc < 2) return help(argc, argv); ignore_arg("-itype", 2, &argc, argv); ignore_arg("-iside", 2, &argc, argv); ignore_arg("-icomp", 2, &argc, argv); ignore_arg("-otype", 2, &argc, argv); ignore_arg("-oside", 2, &argc, argv); ignore_arg("-ocomp", 2, &argc, argv); outtyp = check_type("-type", &argc, argv); outcomp = check_type("-comp", &argc, argv); forcehead = check_forcehead("-side", &argc, argv); retries = check_retry("-retry", &argc, argv); if (find_arg("--help", argc, argv) > 0) return help(argc, argv); np = find_arg("-80", argc, argv); if (np > 0) { t80 = 1; excise_arg(np, &argc, argv); } args_complete(&argc, argv); if (!outtyp) outtyp = "dsk"; return do_test(argv[1], outtyp, outcomp, forcehead); }