@@ -47,12 +47,12 @@ static WCHAR **opt_files;
47
47
48
48
static void * CDECL cab_alloc ( ULONG size )
49
49
{
50
- return HeapAlloc ( GetProcessHeap (), 0 , size );
50
+ return malloc ( size );
51
51
}
52
52
53
53
static void CDECL cab_free ( void * ptr )
54
54
{
55
- HeapFree ( GetProcessHeap (), 0 , ptr );
55
+ free ( ptr );
56
56
}
57
57
58
58
static WCHAR * strdupAtoW ( UINT cp , const char * str )
@@ -61,7 +61,7 @@ static WCHAR *strdupAtoW( UINT cp, const char *str )
61
61
if (str )
62
62
{
63
63
DWORD len = MultiByteToWideChar ( cp , 0 , str , -1 , NULL , 0 );
64
- if ((ret = cab_alloc ( len * sizeof (WCHAR ) )))
64
+ if ((ret = malloc ( len * sizeof (WCHAR ) )))
65
65
MultiByteToWideChar ( cp , 0 , str , -1 , ret , len );
66
66
}
67
67
return ret ;
@@ -73,7 +73,7 @@ static char *strdupWtoA( UINT cp, const WCHAR *str )
73
73
if (str )
74
74
{
75
75
DWORD len = WideCharToMultiByte ( cp , 0 , str , -1 , NULL , 0 , NULL , NULL );
76
- if ((ret = cab_alloc ( len )))
76
+ if ((ret = malloc ( len )))
77
77
WideCharToMultiByte ( cp , 0 , str , -1 , ret , len , NULL , NULL );
78
78
}
79
79
return ret ;
@@ -236,21 +236,21 @@ static INT_PTR CDECL fci_get_open_info( char *name, USHORT *date, USHORT *time,
236
236
{
237
237
* err = GetLastError ();
238
238
WINE_ERR ( "failed to open %s: error %u\n" , wine_dbgstr_w (nameW ), * err );
239
- cab_free ( nameW );
239
+ free ( nameW );
240
240
return -1 ;
241
241
}
242
242
if (!GetFileInformationByHandle ( handle , & info ))
243
243
{
244
244
* err = GetLastError ();
245
245
CloseHandle ( handle );
246
- cab_free ( nameW );
246
+ free ( nameW );
247
247
return -1 ;
248
248
}
249
249
FileTimeToDosDateTime ( & info .ftLastWriteTime , date , time );
250
250
* attribs = info .dwFileAttributes & (_A_RDONLY | _A_HIDDEN | _A_SYSTEM | _A_ARCH );
251
251
for (p = nameW ; * p ; p ++ ) if (* p >= 0x80 ) break ;
252
252
if (* p ) * attribs |= _A_NAME_IS_UTF ;
253
- cab_free ( nameW );
253
+ free ( nameW );
254
254
return (INT_PTR )handle ;
255
255
}
256
256
@@ -291,8 +291,7 @@ static void create_directories( const WCHAR *name )
291
291
WCHAR * path , * p ;
292
292
293
293
/* create the directory/directories */
294
- path = cab_alloc ( (lstrlenW (name ) + 1 ) * sizeof (WCHAR ) );
295
- lstrcpyW (path , name );
294
+ path = wcsdup ( name );
296
295
297
296
p = wcschr (path , '\\' );
298
297
while (p != NULL )
@@ -303,7 +302,7 @@ static void create_directories( const WCHAR *name )
303
302
* p = '\\' ;
304
303
p = wcschr (p + 1 , '\\' );
305
304
}
306
- cab_free ( path );
305
+ free ( path );
307
306
}
308
307
309
308
/* check if file name matches against one of the files specification */
@@ -349,7 +348,7 @@ static INT_PTR CDECL list_notify( FDINOTIFICATIONTYPE fdint, PFDINOTIFICATION pf
349
348
}
350
349
wprintf ( L"%s\n" , nameW );
351
350
}
352
- cab_free ( nameW );
351
+ free ( nameW );
353
352
return 0 ;
354
353
default :
355
354
WINE_FIXME ( "Unexpected notification type %d.\n" , fdint );
@@ -394,7 +393,7 @@ static INT_PTR CDECL extract_notify( FDINOTIFICATIONTYPE fdint, PFDINOTIFICATION
394
393
395
394
if (opt_dest_dir )
396
395
{
397
- path = cab_alloc ( (lstrlenW (opt_dest_dir ) + lstrlenW (file ) + 1 ) * sizeof (WCHAR ) );
396
+ path = malloc ( (wcslen (opt_dest_dir ) + wcslen (file ) + 1 ) * sizeof (WCHAR ) );
398
397
lstrcpyW ( path , opt_dest_dir );
399
398
lstrcatW ( path , file );
400
399
}
@@ -410,8 +409,8 @@ static INT_PTR CDECL extract_notify( FDINOTIFICATIONTYPE fdint, PFDINOTIFICATION
410
409
}
411
410
else ret = 0 ;
412
411
413
- cab_free ( nameW );
414
- if (path != file ) cab_free ( path );
412
+ free ( nameW );
413
+ if (path != file ) free ( path );
415
414
return ret ;
416
415
417
416
case fdintCLOSE_FILE_INFO :
@@ -464,7 +463,7 @@ static BOOL add_file( HFCI fci, WCHAR *name )
464
463
}
465
464
ret = FCIAddFile ( fci , path , filename , FALSE,
466
465
fci_get_next_cab , fci_status , fci_get_open_info , opt_compression );
467
- cab_free ( path );
466
+ free ( path );
468
467
return ret ;
469
468
}
470
469
@@ -475,7 +474,7 @@ static BOOL add_directory( HFCI fci, WCHAR *dir )
475
474
WIN32_FIND_DATAW data ;
476
475
BOOL ret = TRUE;
477
476
478
- if (!(buffer = cab_alloc ( (lstrlenW (dir ) + MAX_PATH + 2 ) * sizeof (WCHAR ) ))) return FALSE;
477
+ if (!(buffer = malloc ( (wcslen (dir ) + MAX_PATH + 2 ) * sizeof (WCHAR ) ))) return FALSE;
479
478
lstrcpyW ( buffer , dir );
480
479
p = buffer + lstrlenW ( buffer );
481
480
if (p > buffer && p [-1 ] != '\\' ) * p ++ = '\\' ;
@@ -498,7 +497,7 @@ static BOOL add_directory( HFCI fci, WCHAR *dir )
498
497
} while (FindNextFileW ( handle , & data ));
499
498
FindClose ( handle );
500
499
}
501
- cab_free ( buffer );
500
+ free ( buffer );
502
501
return TRUE;
503
502
}
504
503
0 commit comments