When INET6 is not defined, meaning that IPv6 is not supported, need to
authorDavid Dykstra <dwd@samba.org>
Fri, 14 Dec 2001 18:25:51 +0000 (18:25 +0000)
committerDavid Dykstra <dwd@samba.org>
Fri, 14 Dec 2001 18:25:51 +0000 (18:25 +0000)
initalize the global_opts.af_hint to AF_INET or systems such as Linux that
have a native getaddrinfo() because they support IPv6 will attempt to
create IPv6 sockets.  This brings up a problem with the new global_opts
structure; in order to initialize them to a value other than 0, we need to
explicitly initialize them all in an order that matches the order in
rsync.h.  I think that's more inconvenient & error prone than keeping
global variables.

options.c

index 4f2f528..9bb22f4 100644 (file)
--- a/options.c
+++ b/options.c
@@ -75,7 +75,14 @@ int modify_window=0;
 int blocking_io=0;
 
 /** Global options set from command line. **/
-struct global_opts global_opts;
+struct global_opts global_opts = {
+#ifdef INET6
+       0,                      /* af_hint -- allow any protocol */
+#else
+       AF_INET,                /* af_hint -- prefer IPv4 */
+#endif
+       0,                      /* no_detach */
+};
 
 int read_batch=0;  /* dw */
 int write_batch=0; /* dw */