- Timestamp:
- Mar 3, 2003, 5:35:59 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/shell32/shelllink.c
r9851 r9888 27 27 #include "undocshell.h" 28 28 #ifdef __WIN32OS2__ 29 #include <winbase.h> 29 30 #define NO_DCDATA 30 31 #include <winuser32.h> … … 265 266 static BOOL SaveIconFileAsOS2ICO(char *szFileName, char *szXPMFileName) 266 267 { 267 FILE *fXPMFile = NULL, *fICOFile = NULL;268 HFILE fXPMFile = NULL, fICOFile = NULL; 268 269 void *lpOS2Icon = NULL, *lpWinIcon = NULL; 269 270 DWORD ressize, filesize; 270 271 BOOL ret = FALSE; 271 272 272 if (!(fICOFile = fopen(szFileName, "r")))273 if (!(fICOFile = _lopen(szFileName, OF_READ))) 273 274 goto failure; 274 fseek(fICOFile, 0, SEEK_END);275 filesize = ftell(fICOFile);276 fseek(fICOFile, 0, SEEK_SET);275 _llseek(fICOFile, 0, FILE_END); 276 filesize = _llseek(fICOFile, 0, FILE_CURRENT); 277 _llseek(fICOFile, 0, FILE_BEGIN); 277 278 278 279 lpWinIcon = malloc(filesize); 279 280 if(lpWinIcon == NULL) goto failure; 280 if ( fread(lpWinIcon, filesize, 1, fICOFile) != 1)281 if (_lread(fICOFile, lpWinIcon, filesize) != filesize) 281 282 goto failure; 282 283 283 if (!(fXPMFile = fopen(szXPMFileName, "wb")))284 if (!(fXPMFile = _lcreat(szXPMFileName, OF_READWRITE))) 284 285 goto failure; 285 286 286 287 lpOS2Icon = ConvertIconGroupIndirect(lpWinIcon, filesize, &ressize); 287 288 if(lpOS2Icon) { 288 fwrite(lpOS2Icon, 1, ressize, fXPMFile);289 _lwrite(fXPMFile, lpOS2Icon, ressize); 289 290 } 290 291 ret = TRUE; 291 292 292 293 failure: 293 if(fICOFile) fclose(fICOFile);294 if(fXPMFile) fclose(fXPMFile);294 if(fICOFile) _lclose(fICOFile); 295 if(fXPMFile) _lclose(fXPMFile); 295 296 if(lpWinIcon) free(lpWinIcon); 296 297 if(lpOS2Icon) free(lpOS2Icon);
Note:
See TracChangeset
for help on using the changeset viewer.