=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/checkout.c,v retrieving revision 1.45 retrieving revision 1.46 diff -c -r1.45 -r1.46 *** src/usr.bin/cvs/checkout.c 2006/01/25 12:16:13 1.45 --- src/usr.bin/cvs/checkout.c 2006/01/27 10:53:23 1.46 *************** *** 1,4 **** ! /* $OpenBSD: checkout.c,v 1.45 2006/01/25 12:16:13 xsa Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * All rights reserved. --- 1,4 ---- ! /* $OpenBSD: checkout.c,v 1.46 2006/01/27 10:53:23 xsa Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * All rights reserved. *************** *** 193,202 **** int i, ret; char *sp, repo[MAXPATHLEN]; ! if ((dirp = opendir(".")) == NULL) { ! cvs_log(LP_ERRNO, "failed to save cwd"); ! return (CVS_EX_DATA); ! } cwdfd = dirfd(dirp); --- 193,200 ---- int i, ret; char *sp, repo[MAXPATHLEN]; ! if ((dirp = opendir(".")) == NULL) ! fatal("cvs_checkout_pre_exec: opendir failed"); cwdfd = dirfd(dirp); *************** *** 204,221 **** if ((sp = strchr(co_mods[i], '/')) != NULL) *sp = '\0'; ! if ((mkdir(co_mods[i], 0755) == -1) && (errno != EEXIST)) { ! cvs_log(LP_ERRNO, "can't create base directory '%s'", ! co_mods[i]); ! return (CVS_EX_DATA); ! } if (cvs_mkadmin(co_mods[i], root->cr_str, co_mods[i], ! NULL, NULL, 0) < 0) { ! cvs_log(LP_ERR, "can't create base directory '%s'", co_mods[i]); - return (CVS_EX_DATA); - } if (sp != NULL) *sp = '/'; --- 202,215 ---- if ((sp = strchr(co_mods[i], '/')) != NULL) *sp = '\0'; ! if ((mkdir(co_mods[i], 0755) == -1) && (errno != EEXIST)) ! fatal("cvs_checkout_pre_exec: mkdir `%s': %s", ! co_mods[i], strerror(errno)); if (cvs_mkadmin(co_mods[i], root->cr_str, co_mods[i], ! NULL, NULL, 0) < 0) ! fatal("cvs_checkout_pre_exec: cvs_mkadmin `%s' failed", co_mods[i]); if (sp != NULL) *sp = '/'; *************** *** 223,229 **** if (root->cr_method == CVS_METHOD_LOCAL) { if ((dirp = opendir(".")) == NULL) ! return (CVS_EX_DATA); cwdfd = dirfd(dirp); for (i = 0; i < co_nmod; i++) { --- 217,224 ---- if (root->cr_method == CVS_METHOD_LOCAL) { if ((dirp = opendir(".")) == NULL) ! fatal("cvs_checkout_pre_exec: opendir failed"); ! cwdfd = dirfd(dirp); for (i = 0; i < co_nmod; i++) { *************** *** 342,361 **** if (inattic == 1) return (CVS_EX_OK); ! if ((rf = rcs_open(rcspath, RCS_READ)) == NULL) { ! cvs_log(LP_ERR, "cvs_checkout_local: rcs_open failed"); ! return (CVS_EX_DATA); ! } if (cvs_checkout_rev(rf, rf->rf_head, cf, fpath, (cvs_cmdop != CVS_OP_SERVER) ? 1 : 0, ! CHECKOUT_REV_CREATED) < 0) { ! rcs_close(rf); ! return (CVS_EX_DATA); ! } rcs_close(rf); cvs_printf("U %s\n", fpath); ! return (CVS_EX_OK); } --- 337,353 ---- if (inattic == 1) return (CVS_EX_OK); ! if ((rf = rcs_open(rcspath, RCS_READ)) == NULL) ! fatal("cvs_checkout_local: rcs_open `%s': %s", rcspath, ! strerror(rcs_errno)); if (cvs_checkout_rev(rf, rf->rf_head, cf, fpath, (cvs_cmdop != CVS_OP_SERVER) ? 1 : 0, ! CHECKOUT_REV_CREATED) < 0) ! fatal("cvs_checkout_local: cvs_checkout_rev failed"); rcs_close(rf); cvs_printf("U %s\n", fpath); ! return (0); }