=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/add.c,v retrieving revision 1.12 retrieving revision 1.13 diff -c -r1.12 -r1.13 *** src/usr.bin/cvs/add.c 2004/12/30 20:37:56 1.12 --- src/usr.bin/cvs/add.c 2005/01/24 17:42:26 1.13 *************** *** 1,4 **** ! /* $OpenBSD: add.c,v 1.12 2004/12/30 20:37:56 jfb Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * All rights reserved. --- 1,4 ---- ! /* $OpenBSD: add.c,v 1.13 2005/01/24 17:42:26 jfb Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * All rights reserved. *************** *** 53,71 **** int cvs_add(int argc, char **argv) { ! int i, ch; ! char *kflag, *msg; struct cvsroot *root; ! kflag = msg = NULL; while ((ch = getopt(argc, argv, "k:m:")) != -1) { switch (ch) { case 'k': ! kflag = optarg; break; case 'm': ! msg = optarg; break; default: return (EX_USAGE); --- 53,83 ---- int cvs_add(int argc, char **argv) { ! int i, ch, kflag; ! char buf[16], *koptstr; struct cvsroot *root; ! kflag = RCS_KWEXP_DEFAULT; ! cvs_msg = NULL; while ((ch = getopt(argc, argv, "k:m:")) != -1) { switch (ch) { case 'k': ! koptstr = optarg; ! kflag = rcs_kflag_get(koptstr); ! if (RCS_KWEXP_INVAL(kflag)) { ! cvs_log(LP_ERR, ! "invalid RCS keyword expansion mode"); ! rcs_kflag_usage(); ! return (EX_USAGE); ! } ! printf("kopt = `%s'\n", koptstr); break; case 'm': ! if ((cvs_msg = strdup(optarg)) == NULL) { ! cvs_log(LP_ERRNO, "failed to copy message"); ! return (EX_DATAERR); ! } break; default: return (EX_USAGE); *************** *** 74,80 **** argc -= optind; argv += optind; - if (argc == 0) return (EX_USAGE); --- 86,91 ---- *************** *** 90,97 **** "or set the CVSROOT environment variable."); return (EX_USAGE); } ! if ((root->cr_method != CVS_METHOD_LOCAL) && (cvs_connect(root) < 0)) ! return (EX_PROTOCOL); cvs_file_examine(cvs_files, cvs_add_file, NULL); --- 101,116 ---- "or set the CVSROOT environment variable."); return (EX_USAGE); } ! if (root->cr_method != CVS_METHOD_LOCAL) { ! if (cvs_connect(root) < 0) ! return (EX_PROTOCOL); ! if (kflag != RCS_KWEXP_DEFAULT) { ! strlcpy(buf, "-k", sizeof(buf)); ! strlcat(buf, koptstr, sizeof(buf)); ! if (cvs_sendarg(root, buf, 0) < 0) ! return (EX_PROTOCOL); ! } ! } cvs_file_examine(cvs_files, cvs_add_file, NULL);