void cvs_server_set(char *data) { char *ep; if (data == NULL) fatal("Missing argument for Set"); ep = strchr(data, '='); if (ep == NULL) fatal("no = in variable assignment"); *(ep++) = '\0'; if (cvs_var_set(data, ep) < 0) fatal("cvs_server_set: cvs_var_set failed"); }
int cvs_getopt(int argc, char **argv) { int ret; char *ep; const char *errstr; while ((ret = getopt(argc, argv, "b:d:e:flnQqRrs:T:tvwxz:")) != -1) { switch (ret) { case 'b': /* * We do not care about the bin directory for RCS files * as this program has no dependencies on RCS programs, * so it is only here for backwards compatibility. */ cvs_log(LP_NOTICE, "the -b argument is obsolete"); break; case 'd': cvs_rootstr = optarg; break; case 'e': cvs_editor = optarg; break; case 'f': cvs_readrc = 0; break; case 'l': cvs_nolog = 1; break; case 'n': cvs_noexec = 1; cvs_nolog = 1; break; case 'Q': verbosity = 0; break; case 'q': if (verbosity > 1) verbosity = 1; break; case 'R': cvs_readonlyfs = 1; cvs_nolog = 1; break; case 'r': cvs_readonly = 1; break; case 's': ep = strchr(optarg, '='); if (ep == NULL) { cvs_log(LP_ERR, "no = in variable assignment"); exit(1); } *(ep++) = '\0'; if (cvs_var_set(optarg, ep) < 0) exit(1); break; case 'T': cvs_tmpdir = optarg; break; case 't': cvs_trace = 1; break; case 'v': printf("%s\n", CVS_VERSION); exit(0); /* NOTREACHED */ case 'w': cvs_readonly = 0; break; case 'x': /* * Kerberos encryption support, kept for compatibility */ break; case 'z': cvs_compress = strtonum(optarg, 0, 9, &errstr); if (errstr != NULL) fatal("cvs_compress: %s", errstr); break; default: usage(); /* NOTREACHED */ } } ret = optind; optind = 1; optreset = 1; /* for next call */ return (ret); }