rnd-19981016-2
[rocksndiamonds.git] / src / misc.c
index e412be85952f6febbb39cba65c5311b400dfc850..a482d7489ce9d42cf54aee575648088f2a63b675 100644 (file)
@@ -233,6 +233,7 @@ void GetOptions(char *argv[])
             "Options:\n"
             "  -d, --display machine:0       X server display\n"
             "  -l, --levels directory        alternative level directory\n"
+            "  -s, --serveronly              only start network server\n"
             "  -n, --network                 network multiplayer game\n"
             "  -v, --verbose                 verbose mode\n",
             program_name);
@@ -260,6 +261,18 @@ void GetOptions(char *argv[])
 
       printf("--levels == '%s'\n", level_directory);
     }
+    else if (strncmp(option, "-network", option_len) == 0)
+    {
+      printf("--network\n");
+
+      network = TRUE;
+    }
+    else if (strncmp(option, "-serveronly", option_len) == 0)
+    {
+      printf("--serveronly\n");
+
+      serveronly = TRUE;
+    }
     else if (strncmp(option, "-verbose", option_len) == 0)
     {
       printf("--verbose\n");
@@ -356,3 +369,15 @@ void Error(int mode, char *format_str, ...)
     CloseAllAndExit(1);
   }
 }
+
+void *checked_malloc(unsigned long size)
+{
+  void *ptr;
+
+  ptr = malloc(size);
+
+  if (ptr == NULL)
+    Error(ERR_EXIT, "cannot allocate %d bytes -- out of memory", size);
+
+  return ptr;
+}