Changeset 3269 for trunk/src/kernel32/Fileio.cpp
- Timestamp:
- Mar 29, 2000, 5:17:29 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/Fileio.cpp
r3259 r3269 1 /* $Id: Fileio.cpp,v 1.2 6 2000-03-28 17:11:48 sandervlExp $ */1 /* $Id: Fileio.cpp,v 1.27 2000-03-29 15:17:27 cbratschi Exp $ */ 2 2 3 3 /* … … 29 29 #include "oslibdos.h" 30 30 31 #define DBG_LOCALLOG 31 #define DBG_LOCALLOG DBG_fileio 32 32 #include "dbglocal.h" 33 33 … … 77 77 //****************************************************************************** 78 78 ODINFUNCTION2(HANDLE, FindFirstFileA, 79 LPCSTR, arg1, 80 WIN32_FIND_DATAA *, arg2) 81 { 82 dprintf(("FindFirstFileA %s", arg1)); 83 return O32_FindFirstFile(arg1, arg2); 84 } 85 79 LPCSTR, lpFileName, 80 WIN32_FIND_DATAA *, lpFindFileData) 81 { 82 return (HANDLE)OSLibDosFindFirst(lpFileName,lpFindFileData); 83 } 84 //****************************************************************************** 85 // internal function for faster access (SHELL32) 86 //****************************************************************************** 87 ODINFUNCTION3(HANDLE, FindFirstFileMultiA, 88 LPCSTR, lpFileName, 89 WIN32_FIND_DATAA *, lpFindFileData, 90 DWORD *,count) 91 { 92 return (HANDLE)OSLibDosFindFirstMulti(lpFileName,lpFindFileData,count); 93 } 86 94 //****************************************************************************** 87 95 //****************************************************************************** 88 96 ODINFUNCTION2(HANDLE, FindFirstFileW, 89 LPCWSTR, arg1,90 WIN32_FIND_DATAW *, arg2)97 LPCWSTR, lpFileName, 98 WIN32_FIND_DATAW *, lpFindFileData) 91 99 { 92 100 HANDLE rc; … … 94 102 WIN32_FIND_DATAA wfda; 95 103 96 astring = UnicodeToAsciiString((LPWSTR) arg1);97 rc = FindFirstFileA(astring,&wfda);104 astring = UnicodeToAsciiString((LPWSTR)lpFileName); 105 rc = (HANDLE)OSLibDosFindFirst(astring,&wfda); 98 106 99 107 if(rc == -1) { 100 memset(arg2, 0, sizeof(WIN32_FIND_DATAW)); 101 } 102 else { 103 // convert back the result structure 104 memcpy(arg2, 105 &wfda, 106 sizeof(WIN32_FIND_DATAA)); 107 108 lstrcpynAtoW (arg2->cFileName, 109 wfda.cFileName, 110 sizeof(wfda.cFileName)); 111 112 lstrcpynAtoW (arg2->cAlternateFileName, 113 wfda.cAlternateFileName, 114 sizeof(wfda.cAlternateFileName)); 115 } 116 FreeAsciiString(astring); 117 return(rc); 118 } 119 //****************************************************************************** 120 //****************************************************************************** 121 ODINFUNCTION2(BOOL, FindNextFileA, 122 HANDLE, arg1, 123 WIN32_FIND_DATAA *, arg2) 124 { 125 return O32_FindNextFile(arg1, arg2); 126 } 127 //****************************************************************************** 128 //****************************************************************************** 129 ODINFUNCTION2(BOOL, FindNextFileW, 130 HANDLE, arg1, 131 WIN32_FIND_DATAW *, arg2) 132 { 133 WIN32_FIND_DATAA wfda; 134 BOOL rc; 135 136 rc = FindNextFileA(arg1, &wfda); 137 138 if(rc == 0) { 139 memset(arg2, 0, sizeof(WIN32_FIND_DATAW)); 108 memset(lpFindFileData, 0, sizeof(WIN32_FIND_DATAW)); 140 109 } 141 110 else { 142 111 // convert back the result structure 143 memcpy(arg2, 112 memcpy(lpFindFileData, 113 &wfda, 114 sizeof(WIN32_FIND_DATAA)); 115 116 lstrcpynAtoW (lpFindFileData->cFileName, 117 wfda.cFileName, 118 sizeof(wfda.cFileName)); 119 120 lstrcpynAtoW (lpFindFileData->cAlternateFileName, 121 wfda.cAlternateFileName, 122 sizeof(wfda.cAlternateFileName)); 123 } 124 FreeAsciiString(astring); 125 return(rc); 126 } 127 //****************************************************************************** 128 //****************************************************************************** 129 ODINFUNCTION2(BOOL, FindNextFileA, 130 HANDLE, hFindFile, 131 WIN32_FIND_DATAA *, lpFindFileData) 132 { 133 return OSLibDosFindNext(hFindFile,lpFindFileData); 134 } 135 //****************************************************************************** 136 // internal function for faster access (SHELL32) 137 //****************************************************************************** 138 ODINFUNCTION3(BOOL, FindNextFileMultiA, 139 HANDLE, hFindFile, 140 WIN32_FIND_DATAA *, lpFindFileData, 141 DWORD *,count) 142 { 143 return OSLibDosFindNextMulti(hFindFile,lpFindFileData,count); 144 } 145 //****************************************************************************** 146 //****************************************************************************** 147 ODINFUNCTION2(BOOL, FindNextFileW, 148 HANDLE, hFindFile, 149 WIN32_FIND_DATAW *, lpFindFileData) 150 { 151 WIN32_FIND_DATAA wfda; 152 BOOL rc; 153 154 rc = OSLibDosFindNext(hFindFile,&wfda); 155 156 if(rc == 0) { 157 memset(lpFindFileData, 0, sizeof(WIN32_FIND_DATAW)); 158 } 159 else { 160 // convert back the result structure 161 memcpy(lpFindFileData, 144 162 &wfda, 145 163 sizeof(WIN32_FIND_DATAA)); 146 164 147 lstrcpynAtoW (arg2->cFileName,165 lstrcpynAtoW (lpFindFileData->cFileName, 148 166 wfda.cFileName, 149 167 sizeof(wfda.cFileName)); 150 168 151 lstrcpynAtoW ( arg2->cAlternateFileName,169 lstrcpynAtoW (lpFindFileData->cAlternateFileName, 152 170 wfda.cAlternateFileName, 153 171 sizeof(wfda.cAlternateFileName)); … … 158 176 //****************************************************************************** 159 177 ODINFUNCTION1(BOOL, FindClose, 160 HANDLE, arg1)161 { 162 return O 32_FindClose(arg1);178 HANDLE, hFindFile) 179 { 180 return OSLibDosFindClose(hFindFile); 163 181 } 164 182 //****************************************************************************** … … 380 398 if((NULL!=lpszFileName) && strlen(lpszFileName)==2 && lpszFileName[1] == ':') 381 399 { 382 383 384 385 386 387 400 char szDrive[4]; 401 szDrive[0] = lpszFileName[0]; 402 szDrive[1] = lpszFileName[1]; 403 szDrive[2] = '\\'; 404 szDrive[3] = 0x00; 405 rc = O32_GetFileAttributes((LPSTR)szDrive); 388 406 } 389 407 else rc = O32_GetFileAttributes((LPSTR)lpszFileName);
Note:
See TracChangeset
for help on using the changeset viewer.