Changeset 21637 for trunk/src/shell32/shell32_main.c
- Timestamp:
- Jun 20, 2011, 5:16:00 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/shell32/shell32_main.c
r21494 r21637 192 192 if (SUCCEEDED(hr) && (flags & SHGFI_TYPENAME)) 193 193 { 194 if (!(flags & SHGFI_USEFILEATTRIBUTES)) 195 _ILGetFileType(pidlLast, psfi->szTypeName, 80); 196 else 194 if (!(flags & SHGFI_USEFILEATTRIBUTES)) 195 _ILGetFileType(pidlLast, psfi->szTypeName, 80); 196 else 197 { 198 char sTemp[64]; 199 strcpy(sTemp,PathFindExtensionA(path)); 200 if (!( HCR_MapTypeToValue(sTemp, sTemp, 64, TRUE) 201 && HCR_MapTypeToValue(sTemp, psfi->szTypeName, 80, FALSE ))) 197 202 { 198 char sTemp[64]; 199 strcpy(sTemp,PathFindExtensionA(path)); 200 if (!( HCR_MapTypeToValue(sTemp, sTemp, 64, TRUE) 201 && HCR_MapTypeToValue(sTemp, psfi->szTypeName, 80, FALSE ))) 202 { 203 lstrcpynA (psfi->szTypeName, sTemp, 80 - 6); 204 strcat (psfi->szTypeName, "-file"); 205 } 203 lstrcpynA (psfi->szTypeName, sTemp, 80 - 6); 204 strcat (psfi->szTypeName, "-file"); 206 205 } 206 } 207 207 } 208 208 … … 320 320 SHFILEINFOA temppsfi; 321 321 322 len = WideCharToMultiByte(CP_ACP, 0, path, -1, NULL, 0, NULL, NULL); 323 temppath = HeapAlloc(GetProcessHeap(), 0, len); 324 WideCharToMultiByte(CP_ACP, 0, path, -1, temppath, len, NULL, NULL); 325 326 WideCharToMultiByte(CP_ACP, 0, psfi->szDisplayName, -1, temppsfi.szDisplayName, 327 sizeof(temppsfi.szDisplayName), NULL, NULL); 328 WideCharToMultiByte(CP_ACP, 0, psfi->szTypeName, -1, temppsfi.szTypeName, 329 sizeof(temppsfi.szTypeName), NULL, NULL); 322 memset(&temppsfi, 0, sizeof(temppsfi)); 323 324 if (flags & SHGFI_PIDL) 325 { 326 temppath = (LPSTR)path; 327 } 328 else 329 { 330 len = WideCharToMultiByte(CP_ACP, 0, path, -1, NULL, 0, NULL, NULL); 331 temppath = HeapAlloc(GetProcessHeap(), 0, len); 332 WideCharToMultiByte(CP_ACP, 0, path, -1, temppath, len, NULL, NULL); 333 } 334 335 WideCharToMultiByte(CP_ACP, 0, psfi->szDisplayName, -1, temppsfi.szDisplayName, 336 sizeof(temppsfi.szDisplayName), NULL, NULL); 337 WideCharToMultiByte(CP_ACP, 0, psfi->szTypeName, -1, temppsfi.szTypeName, 338 sizeof(temppsfi.szTypeName), NULL, NULL); 330 339 331 340 ret = SHGetFileInfoA(temppath, dwFileAttributes, &temppsfi, sizeof(temppsfi), flags); 341 342 MultiByteToWideChar(CP_ACP, 0, temppsfi.szTypeName, -1, 343 psfi->szTypeName, 344 sizeof(psfi->szTypeName) / sizeof(WCHAR)); 345 MultiByteToWideChar(CP_ACP, 0, temppsfi.szDisplayName, -1, 346 psfi->szDisplayName, 347 sizeof(psfi->szDisplayName) / sizeof(WCHAR)); 332 348 333 349 HeapFree(GetProcessHeap(), 0, temppath);
Note:
See TracChangeset
for help on using the changeset viewer.