fix $^R scoping bug.
[p5sagit/p5-mst-13.2.git] / win32 / perlhost.h
index d6e1e0f..e042103 100644 (file)
@@ -1611,9 +1611,7 @@ PerlProcKill(struct IPerlProc* piPerl, int pid, int sig)
 int
 PerlProcKillpg(struct IPerlProc* piPerl, int pid, int sig)
 {
-    dTHX;
-    Perl_croak(aTHX_ "killpg not implemented!\n");
-    return 0;
+    return win32_kill(pid, -sig);
 }
 
 int
@@ -2240,32 +2238,6 @@ CPerlHost::FreeLocalEnvironmentStrings(LPSTR lpStr)
     Safefree(lpStr);
 }
 
-static char *
-get_valid_filename(pTHX_ WCHAR *widename)
-{
-    char *name;
-    BOOL use_default = FALSE;
-    size_t widelen = wcslen(widename)+1;
-    int len = WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, widename, widelen,
-                                  NULL, 0, NULL, NULL);
-    Newx(name, len, char);
-    WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, widename, widelen,
-                        name, len, NULL, &use_default);
-    if (use_default) {
-        WCHAR *shortname;
-        DWORD shortlen = GetShortPathNameW(widename, NULL, 0);
-        Newx(shortname, shortlen, WCHAR);
-        shortlen = GetShortPathNameW(widename, shortname, shortlen)+1;
-        len = WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, shortname, shortlen,
-                                  NULL, 0, NULL, NULL);
-        Renew(name, len, char);
-        WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, shortname, shortlen,
-                            name, len, NULL, NULL);
-        Safefree(shortname);
-    }
-    return name;
-}
-
 char*
 CPerlHost::GetChildDir(void)
 {
@@ -2273,15 +2245,8 @@ CPerlHost::GetChildDir(void)
     char* ptr;
     size_t length;
 
-    if (IsWin95()) {
-        Newx(ptr, MAX_PATH+1, char);
-        m_pvDir->GetCurrentDirectoryA(MAX_PATH+1, ptr);
-    }
-    else {
-        WCHAR path[MAX_PATH+1];
-        m_pvDir->GetCurrentDirectoryW(MAX_PATH+1, path);
-        ptr = get_valid_filename(aTHX_ path);
-    }
+    Newx(ptr, MAX_PATH+1, char);
+    m_pvDir->GetCurrentDirectoryA(MAX_PATH+1, ptr);
     length = strlen(ptr);
     if (length > 3) {
         if ((ptr[length-1] == '\\') || (ptr[length-1] == '/'))