Changeset 1628 for trunk/src/kernel32/oslibdos.cpp
- Timestamp:
- Nov 8, 1999, 2:43:13 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/oslibdos.cpp
r1432 r1628 1 /* $Id: oslibdos.cpp,v 1. 5 1999-10-24 22:51:22 sandervl Exp $ */1 /* $Id: oslibdos.cpp,v 1.6 1999-11-08 13:43:12 sandervl Exp $ */ 2 2 3 3 /* … … 263 263 return TRUE; 264 264 } 265 //****************************************************************************** 266 //****************************************************************************** 267 268 #define OSLIB_SEARCHDIR 1 269 #define OSLIB_SEARCHCURDIR 2 270 #define OSLIB_SEARCHFILE 3 271 #define OSLIB_SEARCHENV 4 272 273 DWORD OSLibDosSearchPath(DWORD cmd, char *path, char *name, char *full_name, 274 DWORD length_fullname) 275 { 276 switch(cmd) { 277 case OSLIB_SEARCHDIR: 278 if(DosSearchPath(SEARCH_IGNORENETERRS, path, 279 name, full_name, length_fullname) != 0) { 280 return 0; 281 } 282 return strlen(full_name); 283 284 285 case OSLIB_SEARCHCURDIR: 286 if(DosSearchPath(SEARCH_IGNORENETERRS | SEARCH_CUR_DIRECTORY, path, 287 name, full_name, length_fullname) != 0) { 288 return 0; 289 } 290 return strlen(full_name); 291 292 case OSLIB_SEARCHFILE: 293 { 294 FILESTATUS3 fileinfo; 295 296 if(DosQueryPathInfo(name, FIL_STANDARD, &fileinfo, sizeof(fileinfo)) != 0) { 297 return 0; 298 } 299 strncpy(full_name, name, length_fullname); 300 return strlen(full_name); 301 } 302 303 case OSLIB_SEARCHENV: 304 { 305 char *env = getenv(path); 306 if(env == NULL) 307 return 0; 308 309 while(*env != '=') env++; 310 env++; 311 while(*env == ' ') env++; 312 if(DosSearchPath(SEARCH_IGNORENETERRS | SEARCH_ENVIRONMENT, env, 313 name, full_name, length_fullname) != 0) { 314 return 0; 315 } 316 return strlen(full_name); 317 } 318 } 319 return 0; 320 } 321 //****************************************************************************** 322 //******************************************************************************
Note:
See TracChangeset
for help on using the changeset viewer.