Changeset 1410 for trunk/src/kernel32/directory.cpp
- Timestamp:
- Oct 23, 1999, 2:34:48 PM (26 years ago)
- 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:04sandervl Exp $ */1 /* $Id: directory.cpp,v 1.7 1999-10-23 12:34:46 sandervl Exp $ */ 2 2 3 3 /* … … 23 23 #include <heapstring.h> 24 24 #include <options.h> 25 25 #include "initterm.h" 26 26 27 27 ODINDEBUGCHANNEL(KERNEL32-DIRECTORY) … … 175 175 { 176 176 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 213 ODINFUNCTION2(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 238 ODINFUNCTION2(UINT,GetWindowsDirectoryA,LPSTR,lpBuffer, 239 UINT,uSize) 240 { 241 LPSTR lpstrEnv = getenv("WIN32.DIR.WINDOWS"); /* query environment */ 177 242 178 243 if (lpstrEnv != NULL) … … 186 251 int len; 187 252 188 len = PROFILE_GetOdinIniString(ODINDIRECTORIES,"SYSTEM","",lpBuffer,uSize);189 if (len > 2) return len;190 else191 /* if no override by environment is available */192 return O32_GetSystemDirectory(lpBuffer,uSize);193 }194 }195 196 197 /*****************************************************************************198 * Name : GetSystemDirectoryW199 * 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 : GetWindowsDirectoryA224 * 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 } else246 {247 int len;248 249 253 len = PROFILE_GetOdinIniString(ODINDIRECTORIES,"WINDOWS","",lpBuffer,uSize); 250 254 if (len > 2) return len;
Note:
See TracChangeset
for help on using the changeset viewer.