You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by rb...@apache.org on 2001/05/23 16:49:30 UTC
cvs commit: apr/include apr_file_io.h
rbb 01/05/23 07:49:30
Modified: file_io/unix seek.c
include apr_file_io.h
Log:
Add a function to truncate a file without having to close and re-open
the file.
Revision Changes Path
1.21 +9 -0 apr/file_io/unix/seek.c
Index: seek.c
===================================================================
RCS file: /home/cvs/apr/file_io/unix/seek.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -b -w -u -r1.20 -r1.21
--- seek.c 2001/02/16 04:15:37 1.20
+++ seek.c 2001/05/23 14:49:17 1.21
@@ -53,6 +53,7 @@
*/
#include "fileio.h"
+#include <unistd.h>
static apr_status_t setptr(apr_file_t *thefile, unsigned long pos )
{
@@ -124,4 +125,12 @@
return APR_SUCCESS;
}
}
+}
+
+apr_status_t apr_file_trunc(apr_file_t *fp, apr_off_t offset)
+{
+ if (ftruncate(fp->filedes, offset) == -1) {
+ return errno;
+ }
+ return setptr(fp, offset);
}
1.101 +8 -0 apr/include/apr_file_io.h
Index: apr_file_io.h
===================================================================
RCS file: /home/cvs/apr/include/apr_file_io.h,v
retrieving revision 1.100
retrieving revision 1.101
diff -u -d -b -w -u -r1.100 -r1.101
--- apr_file_io.h 2001/05/07 18:04:06 1.100
+++ apr_file_io.h 2001/05/23 14:49:25 1.101
@@ -532,6 +532,14 @@
apr_int32_t wanted,
apr_file_t *thefile);
+
+/**
+ * Truncate the file's length to the specified offset
+ * @param fp The file to truncate
+ * @param offset The offset to truncate to.
+ */
+APR_DECLARE(apr_status_t) apr_file_trunc(apr_file_t *fp, apr_off_t offset);
+
/**
* Get the pool used by the file.
* @return apr_pool_t the pool