From facfa19cdd4d00944c53cc051020023256811928 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 8 Nov 2004 19:41:28 +0000 Subject: weirdo hack to fix debian bug report 278691: 'curl -v writes debugging to its network socket if stderr is closed' --- src/config.h.in | 6 ++++++ src/main.c | 23 +++++++++++++++++++++++ 2 files changed, 29 insertions(+) (limited to 'src') diff --git a/src/config.h.in b/src/config.h.in index 45eab3694..5636cbeeb 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -109,3 +109,9 @@ /* 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 diff --git a/src/main.c b/src/main.c index 2fdb1eb24..4f6c62a61 100644 --- a/src/main.c +++ b/src/main.c @@ -3771,12 +3771,35 @@ operate(struct Configurable *config, int argc, char *argv[]) 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); -- cgit v1.2.3