Ignore:
Timestamp:
Oct 23, 1999, 2:34:48 PM (26 years ago)
Author:
sandervl
Message:

Changes for logging & getversionsize/struct

File:
1 edited

Legend:

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

    r1370 r1410  
    1 /* $Id: directory.cpp,v 1.6 1999-10-20 08:09:04 sandervl Exp $ */
     1/* $Id: directory.cpp,v 1.7 1999-10-23 12:34:46 sandervl Exp $ */
    22
    33/*
     
    2323#include <heapstring.h>
    2424#include <options.h>
    25 
     25#include "initterm.h"
    2626
    2727ODINDEBUGCHANNEL(KERNEL32-DIRECTORY)
     
    175175{
    176176  LPSTR lpstrEnv = getenv("WIN32.DIR.SYSTEM");          /* query environment */
     177
     178  if (lpstrEnv != NULL)
     179  {
     180    lstrcpynA(lpBuffer,                   /* copy environment variable to buffer */
     181              lpstrEnv,
     182              uSize);
     183    return (lstrlenA(lpBuffer));                /* return number of copies bytes */
     184  }
     185  else
     186  {
     187    int len;
     188
     189    len = PROFILE_GetOdinIniString(ODINDIRECTORIES,"SYSTEM","",lpBuffer,uSize);
     190    if (len > 2) {
     191        return len;
     192    }
     193    else {//SvL: Use path of kernel32.dll instead of calling Open32 api (which returns \OS2\SYSTEM)
     194        lstrcpynA(lpBuffer, kernel32Path, uSize);
     195        return lstrlenA(lpBuffer);
     196    }
     197  }
     198}
     199
     200
     201/*****************************************************************************
     202 * Name      : GetSystemDirectoryW
     203 * Purpose   :
     204 * Parameters:
     205 * Variables :
     206 * Result    :
     207 * Remark    :
     208 * Status    :
     209 *
     210 * Author    : Patrick Haller [Wed, 1999/09/28 20:44]
     211 *****************************************************************************/
     212
     213ODINFUNCTION2(UINT,GetSystemDirectoryW,LPWSTR,lpBuffer,
     214                                       UINT,  uSize)
     215{
     216  char *asciibuffer = (char *)malloc(uSize+1);
     217  UINT  rc;
     218
     219  rc = GetSystemDirectoryA(asciibuffer, uSize);
     220  if(rc) AsciiToUnicode(asciibuffer, lpBuffer);
     221  free(asciibuffer);
     222  return(rc);
     223}
     224
     225
     226/*****************************************************************************
     227 * Name      : GetWindowsDirectoryA
     228 * Purpose   :
     229 * Parameters:
     230 * Variables :
     231 * Result    :
     232 * Remark    :
     233 * Status    :
     234 *
     235 * Author    : Patrick Haller [Wed, 1999/09/28 20:44]
     236 *****************************************************************************/
     237
     238ODINFUNCTION2(UINT,GetWindowsDirectoryA,LPSTR,lpBuffer,
     239                                        UINT,uSize)
     240{
     241  LPSTR lpstrEnv = getenv("WIN32.DIR.WINDOWS");         /* query environment */
    177242
    178243  if (lpstrEnv != NULL)
     
    186251    int len;
    187252
    188     len = PROFILE_GetOdinIniString(ODINDIRECTORIES,"SYSTEM","",lpBuffer,uSize);
    189     if (len > 2) return len;
    190     else
    191                                /* if no override by environment is available */
    192       return O32_GetSystemDirectory(lpBuffer,uSize);
    193   }
    194 }
    195 
    196 
    197 /*****************************************************************************
    198  * Name      : GetSystemDirectoryW
    199  * Purpose   :
    200  * Parameters:
    201  * Variables :
    202  * Result    :
    203  * Remark    :
    204  * Status    :
    205  *
    206  * Author    : Patrick Haller [Wed, 1999/09/28 20:44]
    207  *****************************************************************************/
    208 
    209 ODINFUNCTION2(UINT,GetSystemDirectoryW,LPWSTR,lpBuffer,
    210                                        UINT,  uSize)
    211 {
    212   char *asciibuffer = (char *)malloc(uSize+1);
    213   UINT  rc;
    214 
    215   rc = GetSystemDirectoryA(asciibuffer, uSize);
    216   if(rc) AsciiToUnicode(asciibuffer, lpBuffer);
    217   free(asciibuffer);
    218   return(rc);
    219 }
    220 
    221 
    222 /*****************************************************************************
    223  * Name      : GetWindowsDirectoryA
    224  * Purpose   :
    225  * Parameters:
    226  * Variables :
    227  * Result    :
    228  * Remark    :
    229  * Status    :
    230  *
    231  * Author    : Patrick Haller [Wed, 1999/09/28 20:44]
    232  *****************************************************************************/
    233 
    234 ODINFUNCTION2(UINT,GetWindowsDirectoryA,LPSTR,lpBuffer,
    235                                         UINT,uSize)
    236 {
    237   LPSTR lpstrEnv = getenv("WIN32.DIR.WINDOWS");         /* query environment */
    238 
    239   if (lpstrEnv != NULL)
    240   {
    241     lstrcpynA(lpBuffer,                   /* copy environment variable to buffer */
    242               lpstrEnv,
    243               uSize);
    244     return (lstrlenA(lpBuffer));                /* return number of copies bytes */
    245   } else
    246   {
    247     int len;
    248 
    249253    len = PROFILE_GetOdinIniString(ODINDIRECTORIES,"WINDOWS","",lpBuffer,uSize);
    250254    if (len > 2) return len;
Note: See TracChangeset for help on using the changeset viewer.