Ignore:
Timestamp:
Nov 24, 1999, 8:33:34 PM (26 years ago)
Author:
sandervl
Message:

exe loader fixes + updates

File:
1 edited

Legend:

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

    r1708 r1833  
    1 /* $Id: directory.cpp,v 1.11 1999-11-11 19:10:08 sandervl Exp $ */
     1/* $Id: directory.cpp,v 1.12 1999-11-24 19:31:22 sandervl Exp $ */
    22
    33/*
     
    3232#include <string.h>
    3333#include "oslibdos.h"
     34#include "profile.h"
    3435
    3536ODINDEBUGCHANNEL(KERNEL32-DIRECTORY)
     
    219220    int len;
    220221
    221     len = PROFILE_GetOdinIniString(ODINDIRECTORIES,"SYSTEM","",lpBuffer,uSize);
     222    len = ODIN_PROFILE_GetOdinIniString(ODINDIRECTORIES,"SYSTEM","",lpBuffer,uSize);
    222223    if (len > 2) {
    223224        if(lpBuffer[len-1] == '\\') {
     
    293294    int len;
    294295
    295     len = PROFILE_GetOdinIniString(ODINDIRECTORIES,"WINDOWS","",lpBuffer,uSize);
     296    len = ODIN_PROFILE_GetOdinIniString(ODINDIRECTORIES,"WINDOWS","",lpBuffer,uSize);
    296297    if (len > 2) {
    297298        if(lpBuffer[len-1] == '\\') {
     
    301302        return len;
    302303    }
    303     else
    304         /* if no override by environment is available */
    305         return O32_GetWindowsDirectory(lpBuffer,uSize);
     304    else {//SvL: Use path of kernel32.dll instead of calling Open32 api (which returns \OS2\SYSTEM)
     305     CHAR buf[255];
     306
     307        lstrcpynA(buf, kernel32Path, sizeof(buf)-1);
     308        strcat(buf, "WIN");
     309        O32_CreateDirectory(buf, NULL);
     310
     311        lstrcpynA(lpBuffer, buf, uSize);
     312        len = lstrlenA(lpBuffer);;
     313        if(lpBuffer[len-1] == '\\') {
     314                lpBuffer[len-1] = 0;
     315                len--;
     316        }
     317        return len;
     318    }
    306319  }
    307320}
Note: See TracChangeset for help on using the changeset viewer.