=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/buf.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -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 +1,4 @@ -/* $OpenBSD: buf.c,v 1.8 2004/12/08 22:22:38 jfb Exp $ */ +/* $OpenBSD: buf.c,v 1.9 2005/05/24 07:38:46 xsa Exp $ */ /* * Copyright (c) 2003 Jean-Francois Brousseau * All rights reserved. @@ -37,6 +37,7 @@ #include #include "buf.h" +#include "cvs.h" #include "log.h" @@ -412,6 +413,8 @@ { 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,7 +422,9 @@ return (-1); } - ret = cvs_buf_write_fd(b, fd); + 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,6 +448,8 @@ { int ret, fd; + ret = 0; + fd = mkstemp(template); if (fd == -1) { cvs_log(LP_ERRNO, "failed to mkstemp file `%s': %s", @@ -450,7 +457,9 @@ return (-1); } - ret = cvs_buf_write_fd(b, fd); + 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));