Changeset 551 for trunk/dll/srchpath.c
- Timestamp:
- Feb 28, 2007, 2:33:51 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/srchpath.c
r2 r551 9 9 #pragma alloc_text(MISC9,first_path,searchapath,searchpath) 10 10 11 CHAR * first_path (CHAR *path,CHAR *ret) { 11 CHAR *first_path(CHAR * path, CHAR * ret) 12 { 12 13 13 CHAR *p, *pp;14 CHAR *p, *pp; 14 15 15 if (!path || !ret)16 if (!path || !ret) 16 17 return ret; 17 strcpy(ret, path);18 p = strchr(ret, ';');19 if (p) {18 strcpy(ret, path); 19 p = strchr(ret, ';'); 20 if (p) { 20 21 *p = 0; 21 22 p++; 22 if (*ret == '.') {/* skip initial "cur dir" */23 pp = strchr(p, ';');24 if (pp)25 26 if (*p)27 memmove(ret,p,strlen(p) + 1);23 if (*ret == '.') { /* skip initial "cur dir" */ 24 pp = strchr(p, ';'); 25 if (pp) 26 *pp = 0; 27 if (*p) 28 memmove(ret, p, strlen(p) + 1); 28 29 } 29 30 } … … 31 32 } 32 33 33 34 CHAR * searchapath (CHAR *path,CHAR *filename){34 CHAR *searchapath(CHAR * path, CHAR * filename) 35 { 35 36 36 37 static CHAR fbuf[CCHMAXPATH]; 37 38 38 if(strchr(filename,'\\') || strchr(filename,'/') || strchr(filename,':')) { 39 if (strchr(filename, '\\') || strchr(filename, '/') 40 || strchr(filename, ':')) { 39 41 40 42 FILESTATUS3 fsa; 41 43 42 if(!DosQueryPathInfo(filename,FIL_STANDARD,&fsa, 43 (ULONG)sizeof(fsa))) 44 if (!DosQueryPathInfo(filename, FIL_STANDARD, &fsa, (ULONG) sizeof(fsa))) 44 45 return filename; 45 46 *fbuf = 0; … … 47 48 } 48 49 *fbuf = 0; 49 if (DosSearchPath(SEARCH_IGNORENETERRS | SEARCH_ENVIRONMENT |50 51 path,filename,fbuf,CCHMAXPATH - 1))50 if (DosSearchPath(SEARCH_IGNORENETERRS | SEARCH_ENVIRONMENT | 51 SEARCH_CUR_DIRECTORY, 52 path, filename, fbuf, CCHMAXPATH - 1)) 52 53 *fbuf = 0; 53 54 return fbuf; 54 55 } 55 56 56 57 CHAR * searchpath (CHAR *filename){57 CHAR *searchpath(CHAR * filename) 58 { 58 59 59 60 CHAR *found; 60 61 61 if (!filename)62 if (!filename) 62 63 return ""; 63 found = searchapath("PATH", filename);64 if (!*found) {65 found = searchapath("DPATH", filename);66 if (!*found)67 found = searchapath("XPATH", filename);64 found = searchapath("PATH", filename); 65 if (!*found) { 66 found = searchapath("DPATH", filename); 67 if (!*found) 68 found = searchapath("XPATH", filename); 68 69 } 69 70 return found; 70 71 } 71
Note:
See TracChangeset
for help on using the changeset viewer.