remove misleading comment (from M.J.T. Guy)
[p5sagit/p5-mst-13.2.git] / win32 / win32.c
index 97b51ba..008d7e0 100644 (file)
@@ -177,7 +177,9 @@ get_regstr_from(HKEY hkey, const char *valuename, SV **svp)
     if (retval == ERROR_SUCCESS) {
        DWORD datalen;
        retval = RegQueryValueEx(handle, valuename, 0, &type, NULL, &datalen);
-       if (retval == ERROR_SUCCESS && type == REG_SZ) {
+       if (retval == ERROR_SUCCESS
+           && (type == REG_SZ || type == REG_EXPAND_SZ))
+       {
            dTHXo;
            if (!*svp)
                *svp = sv_2mortal(newSVpvn("",0));
@@ -1755,7 +1757,7 @@ static VOID CALLBACK TimerProc(HWND win, UINT msg, UINT id, DWORD time)
     dTHXo;
     KillTimer(NULL,timerid);
     timerid=0;  
-    sighandler(14);
+    CALL_FPTR(PL_sighandlerp)(14);
 }
 #endif /* !PERL_OBJECT */
 
@@ -3203,10 +3205,20 @@ win32_spawnvp(int mode, const char *cmdname, const char *const *argv)
     }
     memset(&StartupInfo,0,sizeof(StartupInfo));
     StartupInfo.cb = sizeof(StartupInfo);
+    memset(&tbl,0,sizeof(tbl));
     PerlEnv_get_child_IO(&tbl);
-    StartupInfo.hStdInput  = tbl.childStdIn;
-    StartupInfo.hStdOutput = tbl.childStdOut;
-    StartupInfo.hStdError  = tbl.childStdErr;
+    StartupInfo.dwFlags                = tbl.dwFlags;
+    StartupInfo.dwX            = tbl.dwX; 
+    StartupInfo.dwY            = tbl.dwY; 
+    StartupInfo.dwXSize                = tbl.dwXSize; 
+    StartupInfo.dwYSize                = tbl.dwYSize; 
+    StartupInfo.dwXCountChars  = tbl.dwXCountChars; 
+    StartupInfo.dwYCountChars  = tbl.dwYCountChars; 
+    StartupInfo.dwFillAttribute        = tbl.dwFillAttribute; 
+    StartupInfo.wShowWindow    = tbl.wShowWindow; 
+    StartupInfo.hStdInput      = tbl.childStdIn;
+    StartupInfo.hStdOutput     = tbl.childStdOut;
+    StartupInfo.hStdError      = tbl.childStdErr;
     if (StartupInfo.hStdInput != INVALID_HANDLE_VALUE &&
        StartupInfo.hStdOutput != INVALID_HANDLE_VALUE &&
        StartupInfo.hStdError != INVALID_HANDLE_VALUE)