=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/status.c,v retrieving revision 1.20 retrieving revision 1.21 diff -c -r1.20 -r1.21 *** src/usr.bin/cvs/status.c 2005/04/27 04:54:46 1.20 --- src/usr.bin/cvs/status.c 2005/05/20 20:00:53 1.21 *************** *** 1,4 **** ! /* $OpenBSD: status.c,v 1.20 2005/04/27 04:54:46 jfb Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * All rights reserved. --- 1,4 ---- ! /* $OpenBSD: status.c,v 1.21 2005/05/20 20:00:53 joris Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * All rights reserved. *************** *** 129,142 **** CVS_FILE_NAME(cfp)); else ret = cvs_senddir(root, cfp); return (ret); } cvs_file_getpath(cfp, fpath, sizeof(fpath)); ! if (cvs_sendentry(root, cfp) < 0) { ! return (-1); ! } switch (cfp->cf_cvstat) { case CVS_FST_UNKNOWN: --- 129,145 ---- CVS_FILE_NAME(cfp)); else ret = cvs_senddir(root, cfp); + + if (ret == -1) + ret = CVS_EX_PROTO; + return (ret); } cvs_file_getpath(cfp, fpath, sizeof(fpath)); ! if (cvs_sendentry(root, cfp) < 0) ! return (CVS_EX_PROTO); switch (cfp->cf_cvstat) { case CVS_FST_UNKNOWN: *************** *** 154,159 **** --- 157,165 ---- break; } + if (ret == -1) + ret = CVS_EX_PROTO; + return (ret); } *************** *** 183,195 **** if (l == -1 || l >= (int)sizeof(rcspath)) { errno = ENAMETOOLONG; cvs_log(LP_ERRNO, "%s", rcspath); ! return (-1); } rf = rcs_open(rcspath, RCS_READ); ! if (rf == NULL) { ! return (-1); ! } buf[0] = '\0'; if (cfp->cf_cvstat == CVS_FST_LOST) --- 189,200 ---- if (l == -1 || l >= (int)sizeof(rcspath)) { errno = ENAMETOOLONG; cvs_log(LP_ERRNO, "%s", rcspath); ! return (CVS_EX_DATA); } rf = rcs_open(rcspath, RCS_READ); ! if (rf == NULL) ! return (CVS_EX_DATA); buf[0] = '\0'; if (cfp->cf_cvstat == CVS_FST_LOST)