main: move some initialisation to the beginning of main
authorFerry Huberts <ferry.huberts@pelagic.nl>
Mon, 9 Nov 2015 20:29:56 +0000 (21:29 +0100)
committerFerry Huberts <ferry.huberts@pelagic.nl>
Wed, 11 Nov 2015 16:09:26 +0000 (17:09 +0100)
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
src/main.c

index 17124ef..5deff57 100644 (file)
@@ -300,6 +300,24 @@ int main(int argc, char *argv[]) {
 
   memset(&buf, 0, sizeof(buf));
 
+  /* setup debug printf destination */
+  debug_handle = stdout;
+
+  /* set stdout and stderr to unbuffered output */
+  setbuf(stdout, NULL);
+  setbuf(stderr, NULL);
+
+  /* setup random seed */
+  olsr_init_random();
+
+  /* Init widely used statics */
+  memset(&all_zero, 0, sizeof(union olsr_ip_addr));
+
+  /* store the arguments for restart */
+#ifndef _WIN32
+  olsr_argv = argv;
+#endif /* _WIN32 */
+
   /*
    * Start
    */
@@ -319,15 +337,8 @@ int main(int argc, char *argv[]) {
     }
   }
 
-  debug_handle = stdout;
-#ifndef _WIN32
-  olsr_argv = argv;
-#endif /* _WIN32 */
-  setbuf(stdout, NULL);
-  setbuf(stderr, NULL);
-
+  /* check root privileges */
 #ifndef _WIN32
-  /* Check if user is root */
   if (geteuid()) {
     olsr_exit("You must be root (uid = 0) to run olsrd", EXIT_FAILURE);
   }
@@ -344,12 +355,6 @@ int main(int argc, char *argv[]) {
   /* Open syslog */
   olsr_openlog("olsrd");
 
-  /* setup random seed */
-  olsr_init_random();
-
-  /* Init widely used statics */
-  memset(&all_zero, 0, sizeof(union olsr_ip_addr));
-
   /*
    * Set configfile name and
    * check if a configfile name was given as parameter