deep mods
[feisty_meow.git] / nucleus / library / processes / launch_process.cpp
index bb8d7ada002cb60c7028d862f37ae772f8388ac5..45880744d2c31b2190c2feecd45899576f55e443 100644 (file)
 #include <timely/time_control.h>
 
 #include <stdlib.h>
-#ifdef __UNIX__
+#ifndef _MSC_VER
   #include <signal.h>
   #include <sys/types.h>
   #include <sys/wait.h>
   #include <unistd.h>
-#endif
-#ifdef __WIN32__
+#else
   #include <process.h>
   #include <shellapi.h>
   #include <shlobj.h>
@@ -60,14 +59,14 @@ int_set __our_kids() {
   return __hidden_kids;
 }
 
-#ifdef __WIN32__
+#ifdef _MSC_VER
 bool launch_process::event_poll(MSG &message)
 {
   message.hwnd = 0;
   message.message = 0;
   message.wParam = 0;
   message.lParam = 0;
-  if (!PeekMessage(&message, NIL, 0, 0, PM_REMOVE))
+  if (!PeekMessage(&message, NULL_POINTER, 0, 0, PM_REMOVE))
     return false;
   TranslateMessage(&message);
   DispatchMessage(&message);
@@ -87,7 +86,7 @@ bool launch_process::event_poll(MSG &message)
 //const int MAXIMUM_COMMAND_LINE = 32 * KILOBYTE;
   // maximum command line that we'll deal with here.
 
-#ifdef __UNIX__
+#ifndef _MSC_VER
 void launch_process::exiting_child_signal_handler(int sig_num)
 {
   FUNCDEF("exiting_child_signal_handler");
@@ -147,7 +146,7 @@ char_star_array launch_process::break_line(astring &app, const astring &paramete
         .stuff(to_return[to_return.last()], len);
   }
   // add the sentinel to the list of strings.
-  to_return += NIL;
+  to_return += NULL_POINTER;
 #ifdef DEBUG_LAUNCH_PROCESS
   for (int q = 0; to_return[q]; q++) {
     LOG(a_sprintf("%d: %s\n", q, to_return[q]));
@@ -172,7 +171,7 @@ basis::un_int launch_process::run(const astring &app_name_in, const astring &com
     app_name.insert(0, "\"");
   if (app_name[app_name.end()] != '"')
     app_name += "\"";
-#ifdef __UNIX__
+#if defined(__UNIX__) || defined(__GNU_WINDOWS__)
   // unix / linux implementation.
   if (flag & RETURN_IMMEDIATELY) {
     // they want to get back right away.
@@ -230,7 +229,7 @@ basis::un_int launch_process::run(const astring &app_name_in, const astring &com
     // assume they want to wait.
     return system((app_name + " " + command_line).s());
   }
-#elif defined(__WIN32__)
+#elif defined(_MSC_VER)
 
 //checking on whether we have admin rights for the launch.
 //if (IsUserAnAdmin()) {
@@ -294,8 +293,8 @@ basis::un_int launch_process::run(const astring &app_name_in, const astring &com
 //      }
     }
     astring parms = app_name + " " + command_line;
-    bool success = CreateProcess(NIL, to_unicode_temp(parms), NIL, NIL, false,
-        create_flag, NIL, NIL, &startup_info, &process_info);
+    bool success = CreateProcess(NULL_POINTER, to_unicode_temp(parms), NULL_POINTER, NULL_POINTER, false,
+        create_flag, NULL_POINTER, NULL_POINTER, &startup_info, &process_info);
     if (!success)
       return critical_events::system_error();
     // success then, merge back into stream.