Changeset: 528f6adfbf1d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=528f6adfbf1d
Modified Files:
NT/monetdb_config.h.in
clients/Tests/exports.stable.out
gdk/gdk_posix.c
gdk/gdk_posix.h
Branch: default
Log Message:
On Windows we can use _chsize_s for ftruncate.
diffs (74 lines):
diff --git a/NT/monetdb_config.h.in b/NT/monetdb_config.h.in
--- a/NT/monetdb_config.h.in
+++ b/NT/monetdb_config.h.in
@@ -148,7 +148,8 @@
#define HAVE_FTIME 1
/* Define to 1 if you have the `ftruncate' function. */
-/* #undef HAVE_FTRUNCATE */
+#define HAVE_FTRUNCATE 1
+#define ftruncate(fd, sz) (_chsize_s((fd), (__int64) (sz)) == 0 ? 0 : -1)
/* Does your compiler support function attributes (__attribute__)? */
/* #undef HAVE_FUNCTION_ATTRIBUTES */
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -421,7 +421,6 @@ int escapedStrlen(const char *src);
int fltFromStr(const char *src, int *len, flt **dst);
int fltToStr(str *dst, int *len, const flt *src);
const flt flt_nil;
-int ftruncate(int fd, off_t size);
char *get_bin_path(void);
int gettimeofday(struct timeval *tv, int *ignore_zone);
int gprof_pthread_create(pthread_t *__restrict, __const pthread_attr_t
*__restrict, void *( *fcn)(void *), void *__restrict);
diff --git a/gdk/gdk_posix.c b/gdk/gdk_posix.c
--- a/gdk/gdk_posix.c
+++ b/gdk/gdk_posix.c
@@ -854,32 +854,6 @@ MT_path_absolute(const char *pathname)
}
-#ifndef HAVE_FTRUNCATE
-int
-ftruncate(int fd, off_t size)
-{
- HANDLE hfile;
- unsigned int curpos;
-
- if (fd < 0)
- return -1;
-
- hfile = (HANDLE) _get_osfhandle(fd);
- curpos = SetFilePointer(hfile, 0, NULL, FILE_CURRENT);
- if (curpos == 0xFFFFFFFF ||
- SetFilePointer(hfile, (LONG) size, NULL, FILE_BEGIN) == 0xFFFFFFFF
||
- !SetEndOfFile(hfile)) {
- int error = GetLastError();
-
- if (error && error != ERROR_INVALID_HANDLE)
- SetLastError(ERROR_OPEN_FAILED); /* enforce EIO
*/
- return -1;
- }
-
- return 0;
-}
-#endif
-
#ifndef HAVE_GETTIMEOFDAY
static int nodays[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
diff --git a/gdk/gdk_posix.h b/gdk/gdk_posix.h
--- a/gdk/gdk_posix.h
+++ b/gdk/gdk_posix.h
@@ -252,10 +252,6 @@ gdk_export int win_mkdir(const char *, c
#define link win_link
#endif
-#ifndef HAVE_FTRUNCATE
-gdk_export int ftruncate(int fd, off_t size);
-#endif
-
#endif
#define _errno win_errno
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list