diff options
author | 2005-06-17 08:40:42 +0000 | |
---|---|---|
committer | 2005-06-17 08:40:42 +0000 | |
commit | 102e81f9e848f84e6c315dc00d4ccbfd5e542c89 (patch) | |
tree | c19fe1f997e0e214c432d340742d7839f946b69a | |
parent | #define CVS_EX_ERR -1 (diff) | |
download | wireguard-openbsd-102e81f9e848f84e6c315dc00d4ccbfd5e542c89.tar.xz wireguard-openbsd-102e81f9e848f84e6c315dc00d4ccbfd5e542c89.zip |
- add missing option in the command usage
- handle -k
- handle -D and send it to server
ok joris
-rw-r--r-- | usr.bin/cvs/update.c | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/usr.bin/cvs/update.c b/usr.bin/cvs/update.c index 8fd73654101..0c90970cdb6 100644 --- a/usr.bin/cvs/update.c +++ b/usr.bin/cvs/update.c @@ -1,4 +1,4 @@ -/* $OpenBSD: update.c,v 1.34 2005/05/31 08:58:48 xsa Exp $ */ +/* $OpenBSD: update.c,v 1.35 2005/06/17 08:40:42 xsa Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org> * All rights reserved. @@ -51,7 +51,7 @@ struct cvs_cmd cvs_cmd_update = { "Bring work tree in sync with repository", "[-ACdflPpR] [-D date | -r rev] [-I ign] [-j rev] [-k mode] " "[-t id] ...", - "ACD:dflPpQqRr:", + "ACD:dfI:j:k:lPpQqRr:t:", NULL, CF_SORT | CF_RECURSE | CF_IGNORE | CF_KNOWN | CF_NOSYMS, cvs_update_init, @@ -63,8 +63,9 @@ struct cvs_cmd cvs_cmd_update = { CVS_CMD_ALLOWSPEC | CVS_CMD_SENDARGS2 | CVS_CMD_SENDDIR }; -static char *date, *rev; +static char *date, *rev, *koptstr; static int dflag, Aflag; +static int kflag = RCS_KWEXP_DEFAULT; static int cvs_update_init(struct cvs_cmd *cmd, int argc, char **argv, int *arg) @@ -89,6 +90,20 @@ cvs_update_init(struct cvs_cmd *cmd, int argc, char **argv, int *arg) break; case 'f': break; + case 'I': + break; + case 'j': + break; + 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 (CVS_EX_USAGE); + } + break; case 'l': cmd->file_flags &= ~CF_RECURSE; break; @@ -127,11 +142,14 @@ cvs_update_pre_exec(struct cvsroot *root) if (dflag && cvs_sendarg(root, "-d", 0) < 0) return (CVS_EX_PROTO); - if (rev != NULL) { - if ((cvs_sendarg(root, "-r", 0) < 0) || - (cvs_sendarg(root, rev, 0) < 0)) + if ((rev != NULL) && ((cvs_sendarg(root, "-r", 0) < 0) || + (cvs_sendarg(root, rev, 0) < 0))) return (CVS_EX_PROTO); - } + + if ((date != NULL) && ((cvs_sendarg(root, "-D", 0) < 0) || + (cvs_sendarg(root, date, 0) < 0))) + return (CVS_EX_PROTO); + return (0); } |