Ignore:
Timestamp:
Sep 29, 2010, 12:04:46 AM (15 years ago)
Author:
dmik
Message:

Fixed: CreateProcess could not start programs with national characters in names on systems where the OS/2 codepage is not equal to the Windows ANSI codepage (like the .ru locale). Continuation of r21461.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/oslibmisc.cpp

    r21426 r21462  
    2323#include <malloc.h>  /*PLF Wed  98-03-18 05:15:04*/
    2424#include "oslibmisc.h"
     25#include "win32api.h"
    2526#include <misc.h>
    2627#include <odincrt.h>
     
    346347void OSLibSetBeginLibpath(char *lpszBeginlibpath)
    347348{
    348     DosSetExtLIBPATH(lpszBeginlibpath, BEGIN_LIBPATH);
     349    PSZ psz = NULL;
     350    if (lpszBeginlibpath) {
     351        psz = (PSZ)malloc(strlen(lpszBeginlibpath) + 1);
     352        CharToOemA(lpszBeginlibpath, psz);
     353    }
     354    DosSetExtLIBPATH(psz, BEGIN_LIBPATH);
     355    if (psz) {
     356        free(psz);
     357    }
    349358}
    350359//******************************************************************************
     
    353362{
    354363    DosQueryExtLIBPATH(lpszBeginlibpath, BEGIN_LIBPATH);
     364    OemToCharA(lpszBeginlibpath, lpszBeginlibpath);
    355365}
    356366//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.