]> sjero.net Git - wget/blobdiff - src/main.c
[svn] Expect existence of C89 functions, as well as of select and gettimeofday.
[wget] / src / main.c
index 43c00b0d7cfd55774f533ebc2dc257755c0e5650..997a2de738f48d4c30941ab1e9b6c6f010ea2705 100644 (file)
@@ -34,26 +34,13 @@ so, delete this exception statement from your version.  */
 #ifdef HAVE_UNISTD_H
 # include <unistd.h>
 #endif /* HAVE_UNISTD_H */
-#include <sys/types.h>
-#ifdef HAVE_STRING_H
-# include <string.h>
-#else
-# include <strings.h>
-#endif /* HAVE_STRING_H */
-#ifdef HAVE_SIGNAL_H
-# include <signal.h>
-#endif
-#ifdef HAVE_NLS
-#ifdef HAVE_LOCALE_H
+#include <string.h>
+#include <signal.h>
+#if defined(HAVE_NLS) && defined(HAVE_LOCALE_H)
 # include <locale.h>
-#endif /* HAVE_LOCALE_H */
-#endif /* HAVE_NLS */
+#endif
 #include <assert.h>
-
 #include <errno.h>
-#ifndef errno
-extern int errno;
-#endif
 
 #include "wget.h"
 #include "utils.h"
@@ -79,7 +66,7 @@ extern char *version_string;
 
 extern struct cookie_jar *wget_cookie_jar;
 
-static RETSIGTYPE redirect_output_signal PARAMS ((int));
+static void redirect_output_signal (int);
 
 const char *exec_name;
 \f
@@ -115,8 +102,8 @@ i18n_initialize (void)
 \f
 /* Definition of command-line options. */
 
-static void print_help PARAMS ((void));
-static void print_version PARAMS ((void));
+static void print_help (void);
+static void print_version (void);
 
 #ifdef HAVE_SSL
 # define IF_SSL(x) x
@@ -144,7 +131,7 @@ struct cmdline_option {
     OPT__DONT_REMOVE_LISTING,
     OPT__EXECUTE,
     OPT__NO,
-    OPT__PARENT,
+    OPT__PARENT
   } type;
   const void *data;            /* for standard options */
   int argtype;                 /* for non-standard options */
@@ -547,8 +534,8 @@ HTTP options:\n"),
     N_("\
 HTTPS (SSL/TLS) options:\n"),
     N_("\
-       --secure-protocol=PR     choose SSL protocol, one of auto, SSLv2, SSLv3,\n\
-                                and TLSv1.\n"),
+       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n\
+                                SSLv3, and TLSv1.\n"),
     N_("\
        --no-check-certificate   don't validate the server's certificate.\n"),
     N_("\
@@ -738,7 +725,7 @@ main (int argc, char *const *argv)
          break;
        case OPT_FUNCALL:
          {
-           void (*func) PARAMS ((void)) = (void (*) PARAMS ((void))) opt->data;
+           void (*func) (void) = (void (*) (void)) opt->data;
            func ();
          }
          break;
@@ -913,21 +900,25 @@ Can't timestamp and not clobber old files at the same time.\n"));
   ws_startup ();
 #endif
 
+#ifdef SIGHUP
   /* Setup the signal handler to redirect output when hangup is
      received.  */
-#ifdef HAVE_SIGNAL
   if (signal(SIGHUP, SIG_IGN) != SIG_IGN)
     signal(SIGHUP, redirect_output_signal);
+#endif
   /* ...and do the same for SIGUSR1.  */
+#ifdef SIGUSR1
   signal (SIGUSR1, redirect_output_signal);
+#endif
+#ifdef SIGPIPE
   /* Writing to a closed socket normally signals SIGPIPE, and the
      process exits.  What we want is to ignore SIGPIPE and just check
      for the return value of write().  */
   signal (SIGPIPE, SIG_IGN);
+#endif
 #ifdef SIGWINCH
   signal (SIGWINCH, progress_handle_sigwinch);
 #endif
-#endif /* HAVE_SIGNAL */
 
   status = RETROK;             /* initialize it, just-in-case */
   /* Retrieve the URLs from argument list.  */
@@ -999,16 +990,12 @@ Can't timestamp and not clobber old files at the same time.\n"));
     return 1;
 }
 \f
-#ifdef HAVE_SIGNAL
+#if defined(SIGHUP) || defined(SIGUSR1)
 /* Hangup signal handler.  When wget receives SIGHUP or SIGUSR1, it
    will proceed operation as usual, trying to write into a log file.
-   If that is impossible, the output will be turned off.
+   If that is impossible, the output will be turned off.  */
 
-   #### It is unsafe to do call libc functions from a signal handler.
-   What we should do is, set a global variable, and have the code in
-   log.c pick it up.  */
-
-static RETSIGTYPE
+static void
 redirect_output_signal (int sig)
 {
   const char *signal_name = (sig == SIGHUP ? "SIGHUP" :
@@ -1018,4 +1005,4 @@ redirect_output_signal (int sig)
   progress_schedule_redirect ();
   signal (sig, redirect_output_signal);
 }
-#endif /* HAVE_SIGNAL */
+#endif