From 7c7b389ae01b7953982ed8827cfd6010fce6e575 Mon Sep 17 00:00:00 2001 From: Danny Mayer Date: Tue, 4 Sep 2001 03:10:33 +0000 Subject: [PATCH] Added isc_file_truncate routine --- lib/isc/win32/file.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/isc/win32/file.c b/lib/isc/win32/file.c index 1e88e00222..c1c3f1ced6 100644 --- a/lib/isc/win32/file.c +++ b/lib/isc/win32/file.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: file.c,v 1.24 2001/09/01 00:05:38 gson Exp $ */ +/* $Id: file.c,v 1.25 2001/09/04 03:10:33 mayer Exp $ */ #include @@ -488,3 +488,21 @@ isc_file_absolutepath(const char *filename, char *path, size_t pathlen) { return (ISC_R_NOSPACE); return (ISC_R_SUCCESS); } + +isc_result_t +isc_file_truncate(const char *filename, isc_offset_t size) { + int fh; + + REQUIRE(filename != NULL && size >= 0); + + if ((fh = open(filename, _O_RDWR | _O_BINARY)) < 0) + return (isc__errno2result(errno)); + + if(_chsize(fh, size) != 0) { + close(fh); + return (isc__errno2result(errno)); + } + close(fh); + + return (ISC_R_SUCCESS); +}