Browse Source

ERR: Should use %p to pass HANDLE values on a command line, not %d.

Brad King 22 years ago
parent
commit
6b1770932e
2 changed files with 3 additions and 3 deletions
  1. 2 2
      Source/kwsys/ProcessFwd9x.c
  2. 1 1
      Source/kwsys/ProcessWin32.c

+ 2 - 2
Source/kwsys/ProcessFwd9x.c

@@ -72,12 +72,12 @@ int main()
 
   /* Parse the error pipe handle.  */
   while(*cmdLine && *cmdLine == ' ') { ++cmdLine; }
-  sscanf(cmdLine, "%d", &errorPipe);
+  sscanf(cmdLine, "%p", &errorPipe);
 
   /* Parse the kill event handle.  */
   while(*cmdLine && *cmdLine != ' ') { ++cmdLine; }
   while(*cmdLine && *cmdLine == ' ') { ++cmdLine; }
-  sscanf(cmdLine, "%d", &killEvent);
+  sscanf(cmdLine, "%p", &killEvent);
   
   /* Skip to the beginning of the command line of the real child.  */
   while(*cmdLine && *cmdLine != ' ') { ++cmdLine; }

+ 1 - 1
Source/kwsys/ProcessWin32.c

@@ -680,7 +680,7 @@ void kwsysProcess_Execute(kwsysProcess* cp)
     /* The forwarding executable is given a handle to the error pipe
        and a handle to the kill event.  */
     cp->RealCommand = malloc(strlen(cp->Win9x)+strlen(cp->Command)+100);
-    sprintf(cp->RealCommand, "%s %d %d %s", cp->Win9x,
+    sprintf(cp->RealCommand, "%s %p %p %s", cp->Win9x,
             cp->Pipe[CMPE_PIPE_ERROR].Write,
             cp->Win9xKillEvent, cp->Command);
     }