Better cope with a failed or unavailable ftruncate().
authorDan Fandrich <dan@coneharvesters.com>
Sat, 5 Mar 2005 00:54:16 +0000 (00:54 +0000)
committerDan Fandrich <dan@coneharvesters.com>
Sat, 5 Mar 2005 00:54:16 +0000 (00:54 +0000)
Added HAVE_FTRUNCATE to all the static config-*.h files on the assumption
that all those systems provide it.

packages/vms/config-vms.h
src/Makefile.netware
src/config-amigaos.h
src/config-mac.h
src/config-riscos.h
src/config-vms.h
src/config-win32.h
src/main.c

index 45ee1b1..275f0f1 100644 (file)
@@ -96,6 +96,9 @@
 /* Define if you have the strstr function.  */
 #define  HAVE_STRSTR 1
 
+/* Define if you have the ftruncate function. */
+#define HAVE_FTRUNCATE 1
+
 /* Define if you have the uname function.  */
 #define HAVE_UNAME 1
 
index d3d14fd..c5f73c7 100644 (file)
@@ -280,6 +280,7 @@ config.h: Makefile.netware
        @echo $(DL)#define HAVE_ERR_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_FCNTL_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_FIONBIO 1$(DL) >> $@
+       @echo $(DL)#define HAVE_FTRUNCATE 1$(DL) >> $@
        @echo $(DL)#define HAVE_GETHOSTBYADDR 1$(DL) >> $@
        @echo $(DL)#define HAVE_GETTIMEOFDAY 1$(DL) >> $@
        @echo $(DL)#define HAVE_INET_ADDR 1$(DL) >> $@
index 2d66e37..0f904a3 100644 (file)
@@ -18,6 +18,7 @@
 #define HAVE_TIME_H             1
 #define TIME_WITH_SYS_TIME      1
 #define HAVE_TERMIOS_H          1
+#define HAVE_FTRUNCATE          1
 
 #define HAVE_PWD_H              1
 
index 36505c9..e1806d5 100644 (file)
@@ -8,6 +8,7 @@
 
 #define HAVE_SETVBUF            1
 #define HAVE_UTIME              1
+#define HAVE_FTRUNCATE          1
 
 #define main(x,y) curl_main(x,y)
 
index 1660214..3213364 100644 (file)
@@ -89,6 +89,9 @@
 /* Define if you have the <fcntl.h> header file. */
 #define HAVE_FCNTL_H
 
+/* Define if you have the `ftruncate' function. */
+#define HAVE_FTRUNCATE
+
 /* Define if getaddrinfo exists and works */
 #define HAVE_GETADDRINFO
 
index 79f1ba7..3df6535 100644 (file)
@@ -11,6 +11,9 @@
 /* Define if you have the <io.h> header file.  */
 #undef HAVE_IO_H
 
+/* Define if you have ftruncate()  */
+#define HAVE_FTRUNCATE 1
+
 /* Define if you have strdup() */
 #define HAVE_STRDUP 1
 
index a7c0d16..c07c349 100644 (file)
@@ -14,6 +14,9 @@
 /* Define if you have the <limits.h> header file */
 #define HAVE_LIMITS_H 1
 
+/* Define if you have the ftruncate function. */
+#define HAVE_FTRUNCATE 1
+
 /* Define if you have the strdup function.  */
 #define HAVE_STRDUP 1
 
index b37d1da..43e9c49 100644 (file)
@@ -3771,10 +3771,12 @@ operate(struct Configurable *config, int argc, char *argv[])
                           " bytes\n", outs.bytes);
                 fflush(outs.stream);
                 /* truncate file at the position where we started appending */
+#ifdef HAVE_FTRUNCATE
                 ftruncate( fileno(outs.stream), outs.init);
+#endif
                 /* now seek to the end of the file, the position where we
                    just truncated the file */
-                fseek(outs.stream, 0, SEEK_END);
+                fseek(outs.stream, outs.init, SEEK_SET);
                 outs.bytes = 0; /* clear for next round */
               }
               continue;