guestfs documentation: Missing space.
[libguestfs.git] / daemon / guestfsd.c
index 64cf87f..9691053 100644 (file)
@@ -60,6 +60,10 @@ static char *read_cmdline (void);
 #define AI_ADDRCONFIG 0
 #endif
 
+#ifndef MAX
+#define MAX(a,b) ((a)>(b)?(a):(b))
+#endif
+
 int verbose = 0;
 
 static int print_shell_quote (FILE *stream, const struct printf_info *info, const void *const *args);
@@ -182,8 +186,16 @@ main (int argc, char *argv[])
   setenv ("SHELL", "/bin/sh", 1);
   setenv ("LC_ALL", "C", 1);
 
+#ifndef WIN32
   /* We document that umask defaults to 022 (it should be this anyway). */
   umask (022);
+#else
+  /* This is the default for Windows anyway.  It's not even clear if
+   * Windows ever uses this -- the MSDN documentation for the function
+   * contains obvious errors.
+   */
+  _umask (0);
+#endif
 
   /* Get the vmchannel string.
    *
@@ -327,10 +339,15 @@ main (int argc, char *argv[])
 
   /* Fork into the background. */
   if (!dont_fork) {
+#ifndef WIN32
     if (daemon (0, 1) == -1) {
       perror ("daemon");
       exit (EXIT_FAILURE);
     }
+#else /* WIN32 */
+    fprintf (stderr, "On Windows the daemon does not support forking into the background.\nYou *must* run the daemon with the -f option.\n");
+    exit (EXIT_FAILURE);
+#endif /* WIN32 */
   }
 
   /* Enter the main loop, reading and performing actions. */