=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/buf.c,v retrieving revision 1.8 retrieving revision 1.9 diff -c -r1.8 -r1.9 *** src/usr.bin/cvs/buf.c 2004/12/08 22:22:38 1.8 --- src/usr.bin/cvs/buf.c 2005/05/24 07:38:46 1.9 *************** *** 1,4 **** ! /* $OpenBSD: buf.c,v 1.8 2004/12/08 22:22:38 jfb Exp $ */ /* * Copyright (c) 2003 Jean-Francois Brousseau * All rights reserved. --- 1,4 ---- ! /* $OpenBSD: buf.c,v 1.9 2005/05/24 07:38:46 xsa Exp $ */ /* * Copyright (c) 2003 Jean-Francois Brousseau * All rights reserved. *************** *** 37,42 **** --- 37,43 ---- #include #include "buf.h" + #include "cvs.h" #include "log.h" *************** *** 412,417 **** --- 413,420 ---- { int ret, fd; + ret = 0; + fd = open(path, O_WRONLY|O_CREAT|O_TRUNC, mode); if (fd == -1) { cvs_log(LP_ERRNO, "failed to open file `%s': %s", *************** *** 419,425 **** return (-1); } ! ret = cvs_buf_write_fd(b, fd); if (ret == -1) { cvs_log(LP_ERRNO, "failed to write to file `%s': %s", path, strerror(errno)); --- 422,430 ---- return (-1); } ! if (!cvs_noexec) ! ret = cvs_buf_write_fd(b, fd); ! if (ret == -1) { cvs_log(LP_ERRNO, "failed to write to file `%s': %s", path, strerror(errno)); *************** *** 443,448 **** --- 448,455 ---- { int ret, fd; + ret = 0; + fd = mkstemp(template); if (fd == -1) { cvs_log(LP_ERRNO, "failed to mkstemp file `%s': %s", *************** *** 450,456 **** return (-1); } ! ret = cvs_buf_write_fd(b, fd); if (ret == -1) { cvs_log(LP_ERRNO, "failed to write to temp file `%s': %s", template, strerror(errno)); --- 457,465 ---- return (-1); } ! if (!cvs_noexec) ! ret = cvs_buf_write_fd(b, fd); ! if (ret == -1) { cvs_log(LP_ERRNO, "failed to write to temp file `%s': %s", template, strerror(errno));