=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/tag.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- src/usr.bin/cvs/tag.c 2005/04/20 23:11:30 1.15 +++ src/usr.bin/cvs/tag.c 2005/05/20 20:00:53 1.16 @@ -1,4 +1,4 @@ -/* $OpenBSD: tag.c,v 1.15 2005/04/20 23:11:30 jfb Exp $ */ +/* $OpenBSD: tag.c,v 1.16 2005/05/20 20:00:53 joris Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * Copyright (c) 2004 Joris Vink @@ -174,7 +174,8 @@ root = CVS_DIR_ROOT(cfp); if (cfp->cf_type == DT_DIR) { - ret = cvs_senddir(root, cfp); + if (cvs_senddir(root, cfp) < 0) + ret = CVS_EX_PROTO; return (ret); } @@ -197,6 +198,9 @@ break; } + if (ret == -1) + ret = CVS_EX_PROTO; + return (ret); } @@ -225,14 +229,14 @@ if (len == -1 || len >= (int)sizeof(rcspath)) { errno = ENAMETOOLONG; cvs_log(LP_ERRNO, "%s", rcspath); - return (-1); + return (CVS_EX_DATA); } rf = rcs_open(rcspath, RCS_READ|RCS_WRITE); if (rf == NULL) { cvs_log(LP_ERR, "failed to open %s: %s", rcspath, rcs_errstr(rcs_errno)); - return (-1); + return (CVS_EX_DATA); } if (rcs_sym_add(rf, tag_name, tag_rev) < 0) {