Changelog
+Daniel (8 November 2004)
+- Ian Gulliver reported in debian bug report #278691: if curl is invoked in an
+ environment where stderr is closed the -v output will still be sent to file
+ descriptor 2 which then might be the network socket handle! Now we have a
+ weird hack instead that attempts to make sure that file descriptor 2 is
+ opened (with a call to pipe()) before libcurl is called to do the transfer.
+ configure now checks for pipe() and systems without pipe don't get the weird
+ hack done.
+
Daniel (5 November 2004)
- Tim Sneddon made libcurl send no more than 64K in a single first chunk when
doing a huge POST on VMS, as this is a system limitation. Default on general
/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
+
+/* Define to 1 if you have the `ftruncate' function. */
+#undef HAVE_FTRUNCATE
+
+/* Define to 1 if you have the `pipe' function. */
+#undef HAVE_PIPE
return res;
}
+static void checkfds(void);
+
+static void checkfds(void)
+{
+#ifdef HAVE_PIPE
+ int fd[2] = { STDIN_FILENO, STDIN_FILENO };
+ while( fd[0] == STDIN_FILENO ||
+ fd[0] == STDOUT_FILENO ||
+ fd[0] == STDERR_FILENO ||
+ fd[1] == STDIN_FILENO ||
+ fd[1] == STDOUT_FILENO ||
+ fd[1] == STDERR_FILENO )
+ pipe(fd);
+
+ close(fd[0]);
+ close(fd[1]);
+#endif
+}
+
+
+
int main(int argc, char *argv[])
{
int res;
struct Configurable config;
memset(&config, 0, sizeof(struct Configurable));
+ checkfds();
+
res = operate(&config, argc, argv);
free_config_fields(&config);