From: Alex Henrie alexhenrie24@gmail.com
--- dlls/msi/action.c | 36 +++++++++++++++---------------- dlls/msi/appsearch.c | 18 ++++++++-------- dlls/msi/assembly.c | 6 +++--- dlls/msi/classes.c | 10 ++++----- dlls/msi/cond.y | 4 ++-- dlls/msi/custom.c | 28 ++++++++++++------------- dlls/msi/database.c | 14 ++++++------- dlls/msi/dialog.c | 50 ++++++++++++++++++++++---------------------- dlls/msi/files.c | 24 ++++++++++----------- dlls/msi/font.c | 6 +++--- dlls/msi/format.c | 8 +++---- dlls/msi/install.c | 4 ++-- dlls/msi/media.c | 20 +++++++++--------- dlls/msi/msi.c | 22 +++++++++---------- dlls/msi/msipriv.h | 10 --------- dlls/msi/package.c | 16 +++++++------- dlls/msi/patch.c | 6 +++--- dlls/msi/record.c | 2 +- dlls/msi/source.c | 4 ++-- dlls/msi/storages.c | 2 +- dlls/msi/table.c | 2 +- 21 files changed, 141 insertions(+), 151 deletions(-)
diff --git a/dlls/msi/action.c b/dlls/msi/action.c index 06cd582a389..64032071a5f 100644 --- a/dlls/msi/action.c +++ b/dlls/msi/action.c @@ -1051,7 +1051,7 @@ static UINT load_file(MSIRECORD *row, LPVOID param) msi_reduce_to_long_filename( file->FileName );
file->ShortName = msi_dup_record_field( row, 3 ); - file->LongName = strdupW( folder_split_path(file->ShortName, '|')); + file->LongName = wcsdup( folder_split_path(file->ShortName, '|') );
file->FileSize = MSI_RecordGetInteger( row, 4 ); file->Version = msi_dup_record_field( row, 5 ); @@ -1307,9 +1307,9 @@ static UINT load_folder( MSIRECORD *row, LPVOID param ) src_long = src_short;
/* FIXME: use the target short path too */ - folder->TargetDefault = strdupW(tgt_long); - folder->SourceShortPath = strdupW(src_short); - folder->SourceLongPath = strdupW(src_long); + folder->TargetDefault = wcsdup(tgt_long); + folder->SourceShortPath = wcsdup(src_short); + folder->SourceLongPath = wcsdup(src_long); msi_free(p);
TRACE("TargetDefault = %s\n",debugstr_w( folder->TargetDefault )); @@ -1960,7 +1960,7 @@ static WCHAR *create_temp_dir( MSIDATABASE *db ) { GetTempPathW( MAX_PATH, tmp ); } - if (!(db->tempfolder = strdupW( tmp ))) return NULL; + if (!(db->tempfolder = wcsdup( tmp ))) return NULL; }
if ((ret = msi_alloc( (lstrlenW( db->tempfolder ) + 20) * sizeof(WCHAR) ))) @@ -2480,7 +2480,7 @@ static HKEY open_key( const MSICOMPONENT *comp, HKEY root, const WCHAR *path, BO
access |= get_registry_view( comp );
- if (!(subkey = strdupW( path ))) return NULL; + if (!(subkey = wcsdup( path ))) return NULL; p = subkey; if ((q = wcschr( p, '\' ))) *q = 0; if (create) @@ -2525,7 +2525,7 @@ static WCHAR **split_multi_string_values( const WCHAR *str, DWORD len, DWORD *co p = str; while ((p - str) < len) { - if (!(ret[i] = strdupW( p ))) + if (!(ret[i] = wcsdup( p ))) { for (; i >= 0; i--) msi_free( ret[i] ); msi_free( ret ); @@ -2823,7 +2823,7 @@ static void delete_key( const MSICOMPONENT *comp, HKEY root, const WCHAR *path ) WCHAR *subkey, *p; HKEY hkey;
- if (!(subkey = strdupW( path ))) return; + if (!(subkey = wcsdup( path ))) return; do { if ((p = wcsrchr( subkey, '\' ))) @@ -3128,7 +3128,7 @@ static LPWSTR resolve_keypath( MSIPACKAGE* package, MSICOMPONENT *cmp ) {
if (!cmp->KeyPath) - return strdupW( msi_get_target_folder( package, cmp->Directory ) ); + return wcsdup( msi_get_target_folder( package, cmp->Directory ) );
if (cmp->Attributes & msidbComponentAttributesRegistryKeyPath) { @@ -3174,7 +3174,7 @@ static LPWSTR resolve_keypath( MSIPACKAGE* package, MSICOMPONENT *cmp ) MSIFILE *file = msi_get_loaded_file( package, cmp->KeyPath );
if (file) - return strdupW( file->TargetPath ); + return wcsdup( file->TargetPath ); } return NULL; } @@ -3445,7 +3445,7 @@ static BOOL CALLBACK Typelib_EnumResNameProc( HMODULE hModule, LPCWSTR lpszType, sz = lstrlenW(tl_struct->source)+4;
if ((INT_PTR)lpszName == 1) - tl_struct->path = strdupW(tl_struct->source); + tl_struct->path = wcsdup(tl_struct->source); else { tl_struct->path = msi_alloc(sz * sizeof(WCHAR)); @@ -3532,7 +3532,7 @@ static UINT ITERATE_RegisterTypeLibraries(MSIRECORD *row, LPVOID param) LPCWSTR guid; guid = MSI_RecordGetString(row,1); CLSIDFromString( guid, &tl_struct.clsid); - tl_struct.source = strdupW( file->TargetPath ); + tl_struct.source = wcsdup( file->TargetPath ); tl_struct.path = NULL;
EnumResourceNamesW(module, L"TYPELIB", Typelib_EnumResNameProc, @@ -4316,7 +4316,7 @@ static WCHAR *get_ini_file_name( MSIPACKAGE *package, MSIRECORD *row ) dirprop = MSI_RecordGetString( row, 3 ); if (dirprop) { - folder = strdupW( msi_get_target_folder( package, dirprop ) ); + folder = wcsdup( msi_get_target_folder( package, dirprop ) ); if (!folder) folder = msi_dup_property( package->db, dirprop ); } else @@ -5211,7 +5211,7 @@ static UINT ACTION_ResolveSource(MSIPACKAGE* package) INSTALLPROPERTY_DISKPROMPTW,prompt,&size); } else - prompt = strdupW(package->db->path); + prompt = wcsdup(package->db->path);
record = MSI_CreateRecord(2); MSI_RecordSetInteger(record, 1, MSIERR_INSERTDISK); @@ -6272,7 +6272,7 @@ static UINT ITERATE_InstallODBCDriver( MSIRECORD *rec, LPVOID param ) const WCHAR *dir = msi_get_target_folder( package, driver_file->Component->Directory ); driver_file->TargetPath = msi_build_directory_name( 2, dir, driver_file->FileName ); } - driver_path = strdupW(driver_file->TargetPath); + driver_path = wcsdup(driver_file->TargetPath); ptr = wcsrchr(driver_path, '\'); if (ptr) *ptr = '\0';
@@ -6355,7 +6355,7 @@ static UINT ITERATE_InstallODBCTranslator( MSIRECORD *rec, LPVOID param ) } *ptr = '\0';
- translator_path = strdupW(translator_file->TargetPath); + translator_path = wcsdup(translator_file->TargetPath); ptr = wcsrchr(translator_path, '\'); if (ptr) *ptr = '\0';
@@ -6841,7 +6841,7 @@ static UINT ITERATE_WriteEnvironmentString( MSIRECORD *rec, LPVOID param ) goto done; } size = (lstrlenW(value) + 1) * sizeof(WCHAR); - newval = strdupW(value); + newval = wcsdup(value); if (!newval) { res = ERROR_OUTOFMEMORY; @@ -7651,7 +7651,7 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath, LPWSTR p, dir; LPCWSTR file;
- dir = strdupW(szPackagePath); + dir = wcsdup(szPackagePath); p = wcsrchr(dir, '\'); if (p) { diff --git a/dlls/msi/appsearch.c b/dlls/msi/appsearch.c index 77b12156ca8..1c5113ba4ea 100644 --- a/dlls/msi/appsearch.c +++ b/dlls/msi/appsearch.c @@ -169,7 +169,7 @@ static WCHAR *search_file( MSIPACKAGE *package, WCHAR *path, MSISIGNATURE *sig )
attr = msi_get_file_attributes( package, path ); if (attr != INVALID_FILE_ATTRIBUTES && (attr & FILE_ATTRIBUTE_DIRECTORY)) - return strdupW(path); + return wcsdup(path);
return NULL; } @@ -180,7 +180,7 @@ static WCHAR *search_file( MSIPACKAGE *package, WCHAR *path, MSISIGNATURE *sig )
size = msi_get_file_version_info( package, path, 0, NULL ); if (!size) - return strdupW(path); + return wcsdup(path);
buffer = msi_alloc(size); if (!buffer) @@ -213,7 +213,7 @@ static WCHAR *search_file( MSIPACKAGE *package, WCHAR *path, MSISIGNATURE *sig ) goto done; }
- val = strdupW(path); + val = wcsdup(path);
done: msi_free(buffer); @@ -276,7 +276,7 @@ static UINT search_components( MSIPACKAGE *package, WCHAR **appValue, MSISIGNATU else PathAddBackslashW(path);
- *appValue = strdupW(path); + *appValue = wcsdup(path); } else if (sigpresent) { @@ -285,7 +285,7 @@ static UINT search_components( MSIPACKAGE *package, WCHAR **appValue, MSISIGNATU
attr = msi_get_file_attributes( package, path ); if (attr != INVALID_FILE_ATTRIBUTES && !(attr & FILE_ATTRIBUTE_DIRECTORY)) - *appValue = strdupW(path); + *appValue = wcsdup(path); }
done: @@ -474,7 +474,7 @@ static LPWSTR get_ini_field(LPWSTR buf, int field) int i = 1;
if (field == 0) - return strdupW(buf); + return wcsdup(buf);
beg = buf; while ((end = wcschr(beg, ',')) && i < field) @@ -491,7 +491,7 @@ static LPWSTR get_ini_field(LPWSTR buf, int field) end = beg + lstrlenW(beg);
*end = '\0'; - return strdupW(beg); + return wcsdup(beg); }
static UINT search_ini( MSIPACKAGE *package, WCHAR **appValue, MSISIGNATURE *sig ) @@ -590,7 +590,7 @@ static void expand_any_path( MSIPACKAGE *package, WCHAR *src, WCHAR *dst, size_t static LANGID *parse_languages( const WCHAR *languages, DWORD *num_ids ) { UINT i, count = 1; - WCHAR *str = strdupW( languages ), *p, *q; + WCHAR *str = wcsdup( languages ), *p, *q; LANGID *ret;
if (!str) return NULL; @@ -851,7 +851,7 @@ static UINT check_directory( MSIPACKAGE *package, const WCHAR *dir, WCHAR **appV if (attr != INVALID_FILE_ATTRIBUTES && (attr & FILE_ATTRIBUTE_DIRECTORY)) { TRACE("directory exists, returning %s\n", debugstr_w(dir)); - *appValue = strdupW(dir); + *appValue = wcsdup(dir); }
return ERROR_SUCCESS; diff --git a/dlls/msi/assembly.c b/dlls/msi/assembly.c index 9f75a9c0281..670b0112a0c 100644 --- a/dlls/msi/assembly.c +++ b/dlls/msi/assembly.c @@ -327,13 +327,13 @@ MSIASSEMBLY *msi_load_assembly( MSIPACKAGE *package, MSICOMPONENT *comp ) msiobj_release( &rec->hdr ); return NULL; } - a->feature = strdupW( MSI_RecordGetString( rec, 2 ) ); + a->feature = wcsdup( MSI_RecordGetString( rec, 2 ) ); TRACE("feature %s\n", debugstr_w(a->feature));
- a->manifest = strdupW( MSI_RecordGetString( rec, 3 ) ); + a->manifest = wcsdup( MSI_RecordGetString( rec, 3 ) ); TRACE("manifest %s\n", debugstr_w(a->manifest));
- a->application = strdupW( MSI_RecordGetString( rec, 4 ) ); + a->application = wcsdup( MSI_RecordGetString( rec, 4 ) ); TRACE("application %s\n", debugstr_w(a->application));
a->attributes = MSI_RecordGetInteger( rec, 5 ); diff --git a/dlls/msi/classes.c b/dlls/msi/classes.c index b2c94fa0ff5..5ba3f480071 100644 --- a/dlls/msi/classes.c +++ b/dlls/msi/classes.c @@ -254,14 +254,14 @@ static MSICLASS *load_class( MSIPACKAGE* package, MSIRECORD *row ) switch(i) { case 1: - cls->DefInprocHandler = strdupW(L"ole2.dll"); + cls->DefInprocHandler = wcsdup(L"ole2.dll"); break; case 2: - cls->DefInprocHandler32 = strdupW(L"ole32.dll"); + cls->DefInprocHandler32 = wcsdup(L"ole32.dll"); break; case 3: - cls->DefInprocHandler = strdupW(L"ole2.dll"); - cls->DefInprocHandler32 = strdupW(L"ole32.dll"); + cls->DefInprocHandler = wcsdup(L"ole2.dll"); + cls->DefInprocHandler32 = wcsdup(L"ole32.dll"); break; } } @@ -333,7 +333,7 @@ static MSIMIME *load_mime( MSIPACKAGE* package, MSIRECORD *row )
extension = MSI_RecordGetString( row, 2 ); mt->Extension = load_given_extension( package, extension ); - mt->suffix = strdupW( extension ); + mt->suffix = wcsdup( extension );
mt->clsid = msi_dup_record_field( row, 3 ); mt->Class = load_given_class( package, mt->clsid ); diff --git a/dlls/msi/cond.y b/dlls/msi/cond.y index c7c9045ff52..cb6f4f40d5a 100644 --- a/dlls/msi/cond.y +++ b/dlls/msi/cond.y @@ -413,8 +413,8 @@ static int COND_IsNumber( WCHAR x ) static WCHAR *strstriW( const WCHAR *str, const WCHAR *sub ) { LPWSTR strlower, sublower, r; - strlower = CharLowerW( strdupW( str ) ); - sublower = CharLowerW( strdupW( sub ) ); + strlower = CharLowerW( wcsdup( str ) ); + sublower = CharLowerW( wcsdup( sub ) ); r = wcsstr( strlower, sublower ); if (r) r = (LPWSTR)str + (r - strlower); diff --git a/dlls/msi/custom.c b/dlls/msi/custom.c index 8ff3d90fa58..3ae7c6426ca 100644 --- a/dlls/msi/custom.c +++ b/dlls/msi/custom.c @@ -98,7 +98,7 @@ UINT msi_schedule_action( MSIPACKAGE *package, UINT script, const WCHAR *action package->script_actions_count[script] * sizeof(WCHAR *) ); else newbuf = msi_alloc( sizeof(WCHAR *) );
- newbuf[count] = strdupW( action ); + newbuf[count] = wcsdup( action ); package->script_actions[script] = newbuf; return ERROR_SUCCESS; } @@ -116,7 +116,7 @@ UINT msi_register_unique_action( MSIPACKAGE *package, const WCHAR *action ) package->unique_actions_count * sizeof(WCHAR *) ); else newbuf = msi_alloc( sizeof(WCHAR *) );
- newbuf[count] = strdupW( action ); + newbuf[count] = wcsdup( action ); package->unique_actions = newbuf; return ERROR_SUCCESS; } @@ -178,7 +178,7 @@ static LPWSTR msi_get_deferred_action(LPCWSTR action, LPCWSTR actiondata, DWORD len;
if (!actiondata) - return strdupW(action); + return wcsdup(action);
len = lstrlenW(action) + lstrlenW(actiondata) + lstrlenW(usersid) + lstrlenW(prodcode) + @@ -219,7 +219,7 @@ WCHAR *msi_create_temp_file( MSIDATABASE *db ) { GetTempPathW( MAX_PATH, tmp ); } - if (!(db->tempfolder = strdupW( tmp ))) return NULL; + if (!(db->tempfolder = wcsdup( tmp ))) return NULL; }
if ((ret = msi_alloc( (lstrlenW( db->tempfolder ) + 20) * sizeof(WCHAR) ))) @@ -267,7 +267,7 @@ static MSIBINARY *create_temp_binary(MSIPACKAGE *package, LPCWSTR source) CloseHandle( file ); if (r != ERROR_SUCCESS) goto error;
- binary->source = strdupW( source ); + binary->source = wcsdup( source ); binary->tmpfile = tmpfile; list_add_tail( &package->binaries, &binary->entry );
@@ -304,7 +304,7 @@ static void file_running_action(MSIPACKAGE* package, HANDLE Handle,
action->handle = Handle; action->process = process; - action->name = strdupW(name); + action->name = wcsdup(name);
list_add_tail( &package->RunningActions, &action->entry ); } @@ -754,9 +754,9 @@ static msi_custom_action_info *do_msidbCustomActionTypeDll( msiobj_addref( &package->hdr ); info->package = package; info->type = type; - info->target = strdupW( target ); - info->source = strdupW( source ); - info->action = strdupW( action ); + info->target = wcsdup( target ); + info->source = wcsdup( source ); + info->action = wcsdup( action ); CoCreateGuid( &info->guid );
EnterCriticalSection( &msi_custom_action_cs ); @@ -1201,9 +1201,9 @@ static msi_custom_action_info *do_msidbCustomActionTypeScript( msiobj_addref( &package->hdr ); info->package = package; info->type = type; - info->target = strdupW( function ); - info->source = strdupW( script ); - info->action = strdupW( action ); + info->target = wcsdup( function ); + info->source = wcsdup( script ); + info->action = wcsdup( action ); CoCreateGuid( &info->guid );
EnterCriticalSection( &msi_custom_action_cs ); @@ -1615,10 +1615,10 @@ UINT __cdecl s_remote_GetActionInfo(const GUID *guid, WCHAR **name, int *type, W if (!info) return ERROR_INVALID_DATA;
- *name = strdupW(info->action); + *name = wcsdup(info->action); *type = info->type; *hinst = alloc_msihandle(&info->package->hdr); - *dll = strdupW(info->source); + *dll = wcsdup(info->source); *func = strdupWtoA(info->target);
return ERROR_SUCCESS; diff --git a/dlls/msi/database.c b/dlls/msi/database.c index f7305e661ef..46346c469db 100644 --- a/dlls/msi/database.c +++ b/dlls/msi/database.c @@ -262,7 +262,7 @@ UINT MSI_OpenDatabaseW(LPCWSTR szDBPath, LPCWSTR szPersist, MSIDATABASE **pdb) else lstrcpyW( path, save_path );
- db->path = strdupW( path ); + db->path = wcsdup( path ); db->media_transform_offset = MSI_INITIAL_MEDIA_TRANSFORM_OFFSET; db->media_transform_disk_id = MSI_INITIAL_MEDIA_TRANSFORM_DISKID;
@@ -272,7 +272,7 @@ UINT MSI_OpenDatabaseW(LPCWSTR szDBPath, LPCWSTR szPersist, MSIDATABASE **pdb) db->storage = stg; db->mode = mode; if (created) - db->deletefile = strdupW( szDBPath ); + db->deletefile = wcsdup( szDBPath ); list_init( &db->tables ); list_init( &db->transforms );
@@ -1542,10 +1542,10 @@ static UINT msi_get_table_labels(MSIDATABASE *db, LPCWSTR table, LPWSTR **labels goto end; }
- (*labels)[0] = strdupW(table); + (*labels)[0] = wcsdup(table); for (i=1; i<=count; i++ ) { - (*labels)[i] = strdupW(MSI_RecordGetString(prec, i)); + (*labels)[i] = wcsdup(MSI_RecordGetString(prec, i)); }
end: @@ -1572,7 +1572,7 @@ static UINT msi_get_query_columns(MSIQUERY *query, LPWSTR **columns, DWORD *numc
for (i=1; i<=count; i++ ) { - (*columns)[i-1] = strdupW(MSI_RecordGetString(prec, i)); + (*columns)[i-1] = wcsdup(MSI_RecordGetString(prec, i)); }
*numcolumns = count; @@ -1602,7 +1602,7 @@ static UINT msi_get_query_types(MSIQUERY *query, LPWSTR **types, DWORD *numtypes *numtypes = count; for (i=1; i<=count; i++ ) { - (*types)[i-1] = strdupW(MSI_RecordGetString(prec, i)); + (*types)[i-1] = wcsdup(MSI_RecordGetString(prec, i)); }
end: @@ -1689,7 +1689,7 @@ static UINT msi_get_merge_table (MSIDATABASE *db, LPCWSTR name, MERGETABLE **pta
list_init(&table->rows);
- table->name = strdupW(name); + table->name = wcsdup(name); table->numconflicts = 0;
msiobj_release(&mergeview->hdr); diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c index 9d82be8c2bd..d5d0fd3f20d 100644 --- a/dlls/msi/dialog.c +++ b/dlls/msi/dialog.c @@ -225,7 +225,7 @@ static LPWSTR msi_dialog_dup_property( msi_dialog *dialog, LPCWSTR property, BOO prop = msi_dup_property( dialog->package->db, property );
if (!prop) - prop = strdupW( property ); + prop = wcsdup( property );
return prop; } @@ -402,8 +402,8 @@ static msi_control *dialog_create_window( msi_dialog *dialog, MSIRECORD *rec, DW control->hIcon = NULL; control->hImageList = NULL; control->hDll = NULL; - control->tabnext = strdupW( MSI_RecordGetString( rec, 11) ); - control->type = strdupW( MSI_RecordGetString( rec, 3 ) ); + control->tabnext = wcsdup( MSI_RecordGetString( rec, 11 ) ); + control->type = wcsdup( MSI_RecordGetString( rec, 3 ) ); control->progress_current = 0; control->progress_max = 100; control->progress_backwards = FALSE; @@ -446,7 +446,7 @@ static LPWSTR msi_dialog_get_uitext( msi_dialog *dialog, LPCWSTR key )
rec = MSI_QueryGetRecord( dialog->package->db, L"SELECT * FROM `UIText` WHERE `Key` = '%s'", key ); if (!rec) return NULL; - text = strdupW( MSI_RecordGetString( rec, 2 ) ); + text = wcsdup( MSI_RecordGetString( rec, 2 ) ); msiobj_release( &rec->hdr ); return text; } @@ -677,9 +677,9 @@ static void event_subscribe( msi_dialog *dialog, const WCHAR *event, const WCHAR } if (!(sub = msi_alloc( sizeof(*sub) ))) return; sub->dialog = dialog; - sub->event = strdupW( event ); - sub->control = strdupW( control ); - sub->attribute = strdupW( attribute ); + sub->event = wcsdup( event ); + sub->control = wcsdup( control ); + sub->attribute = wcsdup( attribute ); list_add_tail( &dialog->package->subscriptions, &sub->entry ); }
@@ -856,7 +856,7 @@ static WCHAR *msi_get_binary_name( MSIPACKAGE *package, MSIRECORD *rec ) while (*p && *p != '}') p++; if (!*p++) return text;
- p = strdupW( p ); + p = wcsdup( p ); msi_free( text ); return p; } @@ -1163,7 +1163,7 @@ static UINT msi_dialog_checkbox_control( msi_dialog *dialog, MSIRECORD *rec ) prop = MSI_RecordGetString( rec, 9 ); if (prop) { - control->property = strdupW( prop ); + control->property = wcsdup( prop ); control->value = msi_get_checkbox_value( dialog, prop ); TRACE("control %s value %s\n", debugstr_w(control->property), debugstr_w(control->value)); } @@ -1207,8 +1207,8 @@ static UINT msi_dialog_line_control( msi_dialog *dialog, MSIRECORD *rec ) control->hBitmap = NULL; control->hIcon = NULL; control->hDll = NULL; - control->tabnext = strdupW( MSI_RecordGetString( rec, 11) ); - control->type = strdupW( MSI_RecordGetString( rec, 3 ) ); + control->tabnext = wcsdup( MSI_RecordGetString( rec, 11 ) ); + control->type = wcsdup( MSI_RecordGetString( rec, 3 ) ); control->progress_current = 0; control->progress_max = 100; control->progress_backwards = FALSE; @@ -1458,7 +1458,7 @@ static UINT msi_combobox_add_item( MSIRECORD *rec, LPVOID param ) value = MSI_RecordGetString( rec, 3 ); text = MSI_RecordGetString( rec, 4 );
- info->items[info->addpos_items] = strdupW( value ); + info->items[info->addpos_items] = wcsdup( value );
pos = SendMessageW( info->hwnd, CB_ADDSTRING, 0, (LPARAM)text ); SendMessageW( info->hwnd, CB_SETITEMDATA, pos, (LPARAM)info->items[info->addpos_items] ); @@ -1705,7 +1705,7 @@ static UINT msi_dialog_edit_control( msi_dialog *dialog, MSIRECORD *rec )
prop = MSI_RecordGetString( rec, 9 ); if( prop ) - control->property = strdupW( prop ); + control->property = wcsdup( prop );
val = msi_dup_property( dialog->package->db, control->property ); SetWindowTextW( control->hwnd, val ); @@ -1864,7 +1864,7 @@ msi_maskedit_set_text( struct msi_maskedit_info *info, LPCWSTR text ) { if( info->group[i].len < lstrlenW( p ) ) { - LPWSTR chunk = strdupW( p ); + WCHAR *chunk = wcsdup( p ); chunk[ info->group[i].len ] = 0; SetWindowTextW( info->group[i].hwnd, chunk ); msi_free( chunk ); @@ -2035,7 +2035,7 @@ static UINT msi_dialog_maskedit_control( msi_dialog *dialog, MSIRECORD *rec )
prop = MSI_RecordGetString( rec, 9 ); if( prop ) - info->prop = strdupW( prop ); + info->prop = wcsdup( prop );
msi_maskedit_create_children( info, font );
@@ -2245,7 +2245,7 @@ static UINT msi_dialog_create_radiobutton( MSIRECORD *rec, LPVOID param )
prop = MSI_RecordGetString( rec, 1 ); if( prop ) - control->property = strdupW( prop ); + control->property = wcsdup( prop );
return ERROR_SUCCESS; } @@ -2311,7 +2311,7 @@ static UINT msi_dialog_radiogroup_control( msi_dialog *dialog, MSIRECORD *rec ) SetWindowLongPtrW( control->hwnd, GWL_EXSTYLE, WS_EX_CONTROLPARENT );
if( prop ) - control->property = strdupW( prop ); + control->property = wcsdup( prop );
/* query the Radio Button table for all control in this group */ r = MSI_OpenQuery( package->db, &view, L"SELECT * FROM `RadioButton` WHERE `Property` = '%s'", prop ); @@ -2744,7 +2744,7 @@ static UINT msi_listbox_add_item( MSIRECORD *rec, LPVOID param ) value = MSI_RecordGetString( rec, 3 ); text = MSI_RecordGetString( rec, 4 );
- info->items[info->addpos_items] = strdupW( value ); + info->items[info->addpos_items] = wcsdup( value );
pos = SendMessageW( info->hwnd, LB_ADDSTRING, 0, (LPARAM)text ); SendMessageW( info->hwnd, LB_SETITEMDATA, pos, (LPARAM)info->items[info->addpos_items] ); @@ -3762,7 +3762,7 @@ static LRESULT msi_dialog_oncreate( HWND hwnd, LPCREATESTRUCTW cs ) dialog->default_font = msi_dup_property( dialog->package->db, L"DefaultUIFont" ); if (!dialog->default_font) { - dialog->default_font = strdupW( L"MS Shell Dlg" ); + dialog->default_font = wcsdup( L"MS Shell Dlg" ); if (!dialog->default_font) { msiobj_release( &rec->hdr ); @@ -4024,8 +4024,8 @@ static msi_dialog *dialog_create( MSIPACKAGE *package, const WCHAR *name, msi_di return NULL; } dialog->attributes = MSI_RecordGetInteger( rec, 6 ); - dialog->control_default = strdupW( MSI_RecordGetString( rec, 9 ) ); - dialog->control_cancel = strdupW( MSI_RecordGetString( rec, 10 ) ); + dialog->control_default = wcsdup( MSI_RecordGetString( rec, 9 ) ); + dialog->control_cancel = wcsdup( MSI_RecordGetString( rec, 10 ) ); msiobj_release( &rec->hdr );
rec = MSI_CreateRecord(2); @@ -4372,7 +4372,7 @@ static UINT pending_event_end_dialog( msi_dialog *dialog, const WCHAR *argument { dialog->pending_event = event_end_dialog; msi_free( dialog->pending_argument ); - dialog->pending_argument = strdupW( argument ); + dialog->pending_argument = wcsdup( argument ); return ERROR_SUCCESS; }
@@ -4380,7 +4380,7 @@ static UINT pending_event_end_dialog( msi_dialog *dialog, const WCHAR *argument static UINT event_new_dialog( msi_dialog *dialog, const WCHAR *argument ) { /* store the name of the next dialog, and signal this one to end */ - dialog->package->next_dialog = strdupW( argument ); + dialog->package->next_dialog = wcsdup( argument ); msi_event_cleanup_all_subscriptions( dialog->package ); msi_dialog_end_dialog( dialog ); return ERROR_SUCCESS; @@ -4390,7 +4390,7 @@ static UINT pending_event_new_dialog( msi_dialog *dialog, const WCHAR *argument { dialog->pending_event = event_new_dialog; msi_free( dialog->pending_argument ); - dialog->pending_argument = strdupW( argument ); + dialog->pending_argument = wcsdup( argument ); return ERROR_SUCCESS; }
@@ -4415,7 +4415,7 @@ static UINT pending_event_spawn_dialog( msi_dialog *dialog, const WCHAR *argumen { dialog->pending_event = event_spawn_dialog; msi_free( dialog->pending_argument ); - dialog->pending_argument = strdupW( argument ); + dialog->pending_argument = wcsdup( argument ); return ERROR_SUCCESS; }
diff --git a/dlls/msi/files.c b/dlls/msi/files.c index 94c733fca8f..b335a511339 100644 --- a/dlls/msi/files.c +++ b/dlls/msi/files.c @@ -443,7 +443,7 @@ static UINT copy_install_file(MSIPACKAGE *package, MSIFILE *file, LPWSTR source)
TRACE("file in use, scheduling rename operation\n");
- if (!(pathW = strdupW( file->TargetPath ))) return ERROR_OUTOFMEMORY; + if (!(pathW = wcsdup( file->TargetPath ))) return ERROR_OUTOFMEMORY; if ((p = wcsrchr(pathW, '\'))) *p = 0; len = lstrlenW( pathW ) + 16; if (!(tmpfileW = msi_alloc(len * sizeof(WCHAR)))) @@ -522,7 +522,7 @@ static BOOL installfiles_cb(MSIPACKAGE *package, LPCWSTR filename, DWORD action, { create_directory( package, file->Component->Directory ); } - *path = strdupW( file->TargetPath ); + *path = wcsdup( file->TargetPath ); *attrs = file->Attributes; *(MSIFILE **)user = file; } @@ -706,7 +706,7 @@ static BOOL patchfiles_cb(MSIPACKAGE *package, LPCWSTR file, DWORD action, }
patch->path = msi_create_temp_file( package->db ); - *path = strdupW( patch->path ); + *path = wcsdup( patch->path ); *attrs = patch->File->Attributes; *(MSIFILEPATCH **)user = patch; } @@ -971,7 +971,7 @@ static BOOL add_wildcard( FILE_LIST *files, const WCHAR *source, WCHAR *dest ) if (!new) return FALSE;
- new->source = strdupW(source); + new->source = wcsdup(source); ptr = wcsrchr(dest, '\') + 1; filename = wcsrchr(new->source, '\') + 1;
@@ -1125,7 +1125,7 @@ static UINT ITERATE_MoveFiles( MSIRECORD *rec, LPVOID param ) if (msi_get_file_attributes( package, sourcedir ) == INVALID_FILE_ATTRIBUTES) goto done;
- source = strdupW(sourcedir); + source = wcsdup(sourcedir); if (!source) goto done; } @@ -1150,18 +1150,18 @@ static UINT ITERATE_MoveFiles( MSIRECORD *rec, LPVOID param ) { WCHAR *p; if (sourcename) - destname = strdupW(sourcename); + destname = wcsdup(sourcename); else if ((p = wcsrchr(sourcedir, '\'))) - destname = strdupW(p + 1); + destname = wcsdup(p + 1); else - destname = strdupW(sourcedir); + destname = wcsdup(sourcedir); if (!destname) goto done; } } else { - destname = strdupW(MSI_RecordGetString(rec, 4)); + destname = wcsdup(MSI_RecordGetString(rec, 4)); if (destname) msi_reduce_to_long_filename(destname); }
@@ -1251,7 +1251,7 @@ static WCHAR *get_duplicate_filename( MSIPACKAGE *package, MSIRECORD *row, const if (MSI_RecordIsNull( row, 5 )) { WCHAR *p; - dst_path = strdupW( src ); + dst_path = wcsdup( src ); p = wcsrchr( dst_path, '\' ); if (p) *p = 0; } @@ -1259,7 +1259,7 @@ static WCHAR *get_duplicate_filename( MSIPACKAGE *package, MSIRECORD *row, const { const WCHAR *dst_key = MSI_RecordGetString( row, 5 );
- dst_path = strdupW( msi_get_target_folder( package, dst_key ) ); + dst_path = wcsdup( msi_get_target_folder( package, dst_key ) ); if (!dst_path) { /* try a property */ @@ -1500,7 +1500,7 @@ static UINT ITERATE_RemoveFiles(MSIRECORD *row, LPVOID param) return ERROR_SUCCESS; } size = 0; - if ((filename = strdupW( MSI_RecordGetString(row, 3) ))) + if ((filename = wcsdup( MSI_RecordGetString(row, 3) ))) { msi_reduce_to_long_filename( filename ); size = lstrlenW( filename ); diff --git a/dlls/msi/font.c b/dlls/msi/font.c index 78d384b1654..4dbddc4d72a 100644 --- a/dlls/msi/font.c +++ b/dlls/msi/font.c @@ -152,7 +152,7 @@ static WCHAR *load_ttf_name_id( MSIPACKAGE *package, const WCHAR *filename, DWOR goto end; } for (i = 0; i < dwRead / sizeof(WCHAR); i++) buf[i] = SWAPWORD(buf[i]); - ret = strdupW(buf); + ret = wcsdup(buf); msi_free(buf); break; } @@ -260,7 +260,7 @@ static UINT ITERATE_RegisterFonts(MSIRECORD *row, LPVOID param)
/* the UI chunk */ uirow = MSI_CreateRecord( 1 ); - uipath = strdupW( file->TargetPath ); + uipath = wcsdup( file->TargetPath ); p = wcsrchr(uipath,'\'); if (p) p++; else p = uipath; @@ -341,7 +341,7 @@ static UINT ITERATE_UnregisterFonts( MSIRECORD *row, LPVOID param )
/* the UI chunk */ uirow = MSI_CreateRecord( 1 ); - uipath = strdupW( file->TargetPath ); + uipath = wcsdup( file->TargetPath ); p = wcsrchr( uipath,'\' ); if (p) p++; else p = uipath; diff --git a/dlls/msi/format.c b/dlls/msi/format.c index fdfffabc22f..f2be8db87fc 100644 --- a/dlls/msi/format.c +++ b/dlls/msi/format.c @@ -219,7 +219,7 @@ static WCHAR *deformat_component( FORMAT *format, FORMSTR *str, int *ret_len ) if (comp->Action == INSTALLSTATE_SOURCE) ret = msi_resolve_source_folder( format->package, comp->Directory, NULL ); else - ret = strdupW( msi_get_target_folder( format->package, comp->Directory ) ); + ret = wcsdup( msi_get_target_folder( format->package, comp->Directory ) );
if (ret) *ret_len = lstrlenW( ret ); else *ret_len = 0; @@ -239,12 +239,12 @@ static WCHAR *deformat_file( FORMAT *format, FORMSTR *str, BOOL shortname, int * if (!(file = msi_get_loaded_file( format->package, key ))) goto done; if (!shortname) { - if ((ret = strdupW( file->TargetPath ))) len = lstrlenW( ret ); + if ((ret = wcsdup( file->TargetPath ))) len = lstrlenW( ret ); goto done; } if (!(len = GetShortPathNameW(file->TargetPath, NULL, 0))) { - if ((ret = strdupW( file->TargetPath ))) len = lstrlenW( ret ); + if ((ret = wcsdup( file->TargetPath ))) len = lstrlenW( ret ); goto done; } len++; @@ -770,7 +770,7 @@ static DWORD deformat_string_internal(MSIPACKAGE *package, LPCWSTR ptr, return ERROR_SUCCESS; }
- *data = strdupW(ptr); + *data = wcsdup(ptr); *len = lstrlenW(ptr);
ZeroMemory(&format, sizeof(FORMAT)); diff --git a/dlls/msi/install.c b/dlls/msi/install.c index bf60406f8ef..b9e646be247 100644 --- a/dlls/msi/install.c +++ b/dlls/msi/install.c @@ -379,7 +379,7 @@ WCHAR *msi_resolve_source_folder( MSIPACKAGE *package, const WCHAR *name, MSIFOL if (folder) *folder = f; if (f->ResolvedSource) { - path = strdupW( f->ResolvedSource ); + path = wcsdup( f->ResolvedSource ); TRACE(" already resolved to %s\n", debugstr_w(path)); return path; } @@ -397,7 +397,7 @@ WCHAR *msi_resolve_source_folder( MSIPACKAGE *package, const WCHAR *name, MSIFOL path = msi_build_directory_name( 3, p, f->SourceLongPath, NULL );
TRACE("-> %s\n", debugstr_w(path)); - f->ResolvedSource = strdupW( path ); + f->ResolvedSource = wcsdup( path ); msi_free( p );
return path; diff --git a/dlls/msi/media.c b/dlls/msi/media.c index db65a282b93..fb96014317b 100644 --- a/dlls/msi/media.c +++ b/dlls/msi/media.c @@ -282,9 +282,9 @@ static UINT msi_media_get_disk_info(MSIPACKAGE *package, MSIMEDIAINFO *mi) return ERROR_FUNCTION_FAILED; }
- mi->disk_prompt = strdupW(MSI_RecordGetString(row, 3)); - mi->cabinet = strdupW(MSI_RecordGetString(row, 4)); - mi->volume_label = strdupW(MSI_RecordGetString(row, 5)); + mi->disk_prompt = wcsdup(MSI_RecordGetString(row, 3)); + mi->cabinet = wcsdup(MSI_RecordGetString(row, 4)); + mi->volume_label = wcsdup(MSI_RecordGetString(row, 5));
msiobj_release(&row->hdr); return ERROR_SUCCESS; @@ -460,7 +460,7 @@ static INT_PTR cabinet_copy_file(FDINOTIFICATIONTYPE fdint,
TRACE("file in use, scheduling rename operation\n");
- if (!(tmppathW = strdupW( path ))) return ERROR_OUTOFMEMORY; + if (!(tmppathW = wcsdup(path))) return ERROR_OUTOFMEMORY; if ((p = wcsrchr(tmppathW, '\'))) *p = 0; len = lstrlenW( tmppathW ) + 16; if (!(tmpfileW = msi_alloc(len * sizeof(WCHAR)))) @@ -681,7 +681,7 @@ static UINT get_drive_type(const WCHAR *path) static WCHAR *get_base_url( MSIDATABASE *db ) { WCHAR *p, *ret = NULL, *orig_db = msi_dup_property( db, L"OriginalDatabase" ); - if (UrlIsW( orig_db, URLIS_URL ) && (ret = strdupW( orig_db )) && (p = wcsrchr( ret, '/'))) p[1] = 0; + if (UrlIsW( orig_db, URLIS_URL ) && (ret = wcsdup( orig_db )) && (p = wcsrchr( ret, '/' ))) p[1] = 0; msi_free( orig_db ); return ret; } @@ -706,11 +706,11 @@ UINT msi_load_media_info(MSIPACKAGE *package, UINT Sequence, MSIMEDIAINFO *mi) mi->disk_id = MSI_RecordGetInteger(row, 1); mi->last_sequence = MSI_RecordGetInteger(row, 2); msi_free(mi->disk_prompt); - mi->disk_prompt = strdupW(MSI_RecordGetString(row, 3)); + mi->disk_prompt = wcsdup(MSI_RecordGetString(row, 3)); msi_free(mi->cabinet); - mi->cabinet = strdupW(MSI_RecordGetString(row, 4)); + mi->cabinet = wcsdup(MSI_RecordGetString(row, 4)); msi_free(mi->volume_label); - mi->volume_label = strdupW(MSI_RecordGetString(row, 5)); + mi->volume_label = wcsdup(MSI_RecordGetString(row, 5)); msiobj_release(&row->hdr);
msi_set_sourcedir_props(package, FALSE); @@ -887,7 +887,7 @@ UINT ready_media( MSIPACKAGE *package, BOOL compressed, MSIMEDIAINFO *mi ) lstrcpyW( mi->sourcedir, temppath ); PathAddBackslashW( mi->sourcedir ); msi_free( mi->cabinet ); - mi->cabinet = strdupW( p + 1 ); + mi->cabinet = wcsdup( p + 1 );
msi_free( url ); return ERROR_SUCCESS; @@ -914,7 +914,7 @@ UINT ready_media( MSIPACKAGE *package, BOOL compressed, MSIMEDIAINFO *mi ) }
msi_free(mi->last_volume); - mi->last_volume = strdupW(mi->volume_label); + mi->last_volume = wcsdup(mi->volume_label); } if (mi->cabinet) { diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c index 872c6cb66e2..56a4625febf 100644 --- a/dlls/msi/msi.c +++ b/dlls/msi/msi.c @@ -1080,7 +1080,7 @@ static WCHAR *reg_get_value( HKEY hkey, const WCHAR *name, DWORD *type )
if (!msi_reg_get_val_dword( hkey, name, &val )) return NULL; swprintf( temp, ARRAY_SIZE(temp), L"%u", val ); - return strdupW( temp ); + return wcsdup( temp ); }
ERR( "unhandled value type %lu\n", *type ); @@ -1210,7 +1210,7 @@ static UINT MSI_GetProductInfo(LPCWSTR szProduct, LPCWSTR szAttribute, { unsquash_guid(val, packagecode); msi_free(val); - val = strdupW(packagecode); + val = wcsdup(packagecode); } } } @@ -1488,7 +1488,7 @@ UINT WINAPI MsiGetProductInfoExW(LPCWSTR szProductCode, LPCWSTR szUserSid,
val = reg_get_value(props, szProperty, &type); if (!val) - val = strdupW(L""); + val = wcsdup(L"");
r = msi_copy_outval(val, szValue, pcchValue); } @@ -1513,7 +1513,7 @@ UINT WINAPI MsiGetProductInfoExW(LPCWSTR szProductCode, LPCWSTR szUserSid,
val = reg_get_value(hkey, szProperty, &type); if (!val) - val = strdupW(L""); + val = wcsdup(L"");
r = msi_copy_outval(val, szValue, pcchValue); } @@ -1528,10 +1528,10 @@ UINT WINAPI MsiGetProductInfoExW(LPCWSTR szProductCode, LPCWSTR szUserSid, goto done;
msi_free(val); - val = strdupW(L"5"); + val = wcsdup(L"5"); } else - val = strdupW(L"1"); + val = wcsdup(L"1");
r = msi_copy_outval(val, szValue, pcchValue); goto done; @@ -1539,13 +1539,13 @@ UINT WINAPI MsiGetProductInfoExW(LPCWSTR szProductCode, LPCWSTR szUserSid, else if (props && (val = reg_get_value(props, package, &type))) { msi_free(val); - val = strdupW(L"5"); + val = wcsdup(L"5"); r = msi_copy_outval(val, szValue, pcchValue); goto done; }
if (prod || managed) - val = strdupW(L"1"); + val = wcsdup(L"1"); else goto done;
@@ -1557,7 +1557,7 @@ UINT WINAPI MsiGetProductInfoExW(LPCWSTR szProductCode, LPCWSTR szUserSid, goto done;
/* FIXME */ - val = strdupW(L""); + val = wcsdup(L""); r = msi_copy_outval(val, szValue, pcchValue); } else @@ -1760,7 +1760,7 @@ UINT WINAPI MsiGetPatchInfoExW(LPCWSTR szPatchCode, LPCWSTR szProductCode,
val = reg_get_value(datakey, szProperty, &type); if (!val) - val = strdupW(L""); + val = wcsdup(L"");
r = ERROR_SUCCESS;
@@ -1915,7 +1915,7 @@ UINT WINAPI MsiEnableLogW( DWORD dwLogMode, const WCHAR *szLogFile, DWORD attrib FILE_ATTRIBUTE_NORMAL, NULL); if (file != INVALID_HANDLE_VALUE) { - gszLogFile = strdupW(szLogFile); + gszLogFile = wcsdup(szLogFile); CloseHandle(file); } else ERR( "unable to enable log %s (%lu)\n", debugstr_w(szLogFile), GetLastError() ); diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h index d63c6f244ff..20150cf5c46 100644 --- a/dlls/msi/msipriv.h +++ b/dlls/msi/msipriv.h @@ -1188,14 +1188,4 @@ static inline LPWSTR strdupAtoW( LPCSTR str ) return ret; }
-static inline LPWSTR strdupW( LPCWSTR src ) -{ - LPWSTR dest; - if (!src) return NULL; - dest = msi_alloc( (lstrlenW(src)+1)*sizeof(WCHAR) ); - if (dest) - lstrcpyW(dest, src); - return dest; -} - #endif /* __WINE_MSI_PRIVATE__ */ diff --git a/dlls/msi/package.c b/dlls/msi/package.c index ccbcdea6717..024449180c7 100644 --- a/dlls/msi/package.c +++ b/dlls/msi/package.c @@ -987,7 +987,7 @@ MSIPACKAGE *MSI_CreatePackage( MSIDATABASE *db ) package->LastActionTemplate = NULL; package->LastActionResult = MSI_NULL_INTEGER; package->WordCount = 0; - package->PackagePath = strdupW( db->path ); + package->PackagePath = wcsdup( db->path );
create_temp_property_table( package ); msi_clone_properties( package->db ); @@ -1225,7 +1225,7 @@ static WCHAR *get_property( MSIDATABASE *db, const WCHAR *prop ) } if (MSI_ViewFetch( view, &rec ) == ERROR_SUCCESS) { - ret = strdupW( MSI_RecordGetString( rec, 1 ) ); + ret = wcsdup( MSI_RecordGetString( rec, 1 ) ); msiobj_release( &rec->hdr ); } MSI_ViewClose( view ); @@ -1431,7 +1431,7 @@ UINT MSI_OpenPackageW(LPCWSTR szPackage, DWORD dwOptions, MSIPACKAGE **pPackage) package = MSI_CreatePackage( db ); msiobj_release( &db->hdr ); if (!package) return ERROR_INSTALL_PACKAGE_INVALID; - package->localfile = strdupW( localfile ); + package->localfile = wcsdup( localfile ); package->delete_on_close = delete_on_close;
r = msi_get_suminfo( db->storage, 0, &si ); @@ -1892,7 +1892,7 @@ INT MSI_ProcessMessage( MSIPACKAGE *package, INSTALLMESSAGE eMessageType, MSIREC template_rec = msi_dup_record_field(record, 0);
template_prefix = msi_get_error_message(package->db, eMessageType >> 24); - if (!template_prefix) template_prefix = strdupW(L""); + if (!template_prefix) template_prefix = wcsdup(L"");
if (!template_rec) { @@ -1924,7 +1924,7 @@ INT MSI_ProcessMessage( MSIPACKAGE *package, INSTALLMESSAGE eMessageType, MSIREC msi_free(package->LastAction); msi_free(package->LastActionTemplate); package->LastAction = msi_dup_record_field(record, 1); - if (!package->LastAction) package->LastAction = strdupW(L""); + if (!package->LastAction) package->LastAction = wcsdup(L""); package->LastActionTemplate = msi_dup_record_field(record, 3); break; } @@ -2576,7 +2576,7 @@ UINT msi_package_add_info(MSIPACKAGE *package, DWORD context, DWORD options, info->context = context; info->options = options; info->property = property; - info->value = strdupW(value); + info->value = wcsdup(value); list_add_head(&package->sourcelist_info, &info->entry);
return ERROR_SUCCESS; @@ -2599,8 +2599,8 @@ UINT msi_package_add_media_disk(MSIPACKAGE *package, DWORD context, DWORD option disk->context = context; disk->options = options; disk->disk_id = disk_id; - disk->volume_label = strdupW(volume_label); - disk->disk_prompt = strdupW(disk_prompt); + disk->volume_label = wcsdup(volume_label); + disk->disk_prompt = wcsdup(disk_prompt); list_add_head(&package->sourcelist_media, &disk->entry);
return ERROR_SUCCESS; diff --git a/dlls/msi/patch.c b/dlls/msi/patch.c index 35b2784ba85..84ba305d23e 100644 --- a/dlls/msi/patch.c +++ b/dlls/msi/patch.c @@ -911,8 +911,8 @@ static UINT msi_apply_patch_package( MSIPACKAGE *package, const WCHAR *file )
r = ERROR_OUTOFMEMORY; patch->registered = FALSE; - if (!(patch->filename = strdupW( file ))) goto done; - if (!(patch->localfile = strdupW( localfile ))) goto done; + if (!(patch->filename = wcsdup( file ))) goto done; + if (!(patch->localfile = wcsdup( localfile ))) goto done;
r = msi_apply_patch_db( package, patch_db, patch ); if (r != ERROR_SUCCESS) WARN("patch failed to apply %u\n", r); @@ -1027,7 +1027,7 @@ UINT msi_apply_registered_patch( MSIPACKAGE *package, LPCWSTR patch_code ) return r; } patch_info->registered = TRUE; - patch_info->localfile = strdupW( patch_file ); + patch_info->localfile = wcsdup( patch_file ); if (!patch_info->localfile) { msiobj_release( &patch_db->hdr ); diff --git a/dlls/msi/record.c b/dlls/msi/record.c index 9e11752cc97..277e4c374fc 100644 --- a/dlls/msi/record.c +++ b/dlls/msi/record.c @@ -1129,7 +1129,7 @@ struct wire_record *marshal_record(MSIHANDLE handle) ret->fields[i].u.iVal = rec->fields[i].u.iVal; break; case MSIFIELD_WSTR: - ret->fields[i].u.szwVal = strdupW(rec->fields[i].u.szwVal); + ret->fields[i].u.szwVal = wcsdup(rec->fields[i].u.szwVal); break; case MSIFIELD_STREAM: IStream_AddRef(rec->fields[i].u.stream); diff --git a/dlls/msi/source.c b/dlls/msi/source.c index 7ed0aabf142..4f118c32cd5 100644 --- a/dlls/msi/source.c +++ b/dlls/msi/source.c @@ -1088,7 +1088,7 @@ UINT WINAPI MsiSourceListAddSourceExW( const WCHAR *szProduct, const WCHAR *szUs
postfix = (dwOptions & MSISOURCETYPE_NETWORK) ? L"\" : L"/"; if (szSource[lstrlenW(szSource) - 1] == *postfix) - source = strdupW(szSource); + source = wcsdup(szSource); else { size = lstrlenW(szSource) + 2; @@ -1125,7 +1125,7 @@ UINT WINAPI MsiSourceListAddSourceExW( const WCHAR *szProduct, const WCHAR *szUs goto done; }
- info->path = strdupW(source); + info->path = wcsdup(source); lstrcpyW(info->szIndex, name); info->index = dwIndex; add_source_to_list(&sourcelist, info, &index); diff --git a/dlls/msi/storages.c b/dlls/msi/storages.c index 8262f601693..652f5f4988e 100644 --- a/dlls/msi/storages.c +++ b/dlls/msi/storages.c @@ -218,7 +218,7 @@ static UINT STORAGES_set_row(struct tagMSIVIEW *view, UINT row, MSIRECORD *rec, return r; }
- name = strdupW(MSI_RecordGetString(rec, 1)); + name = wcsdup(MSI_RecordGetString(rec, 1)); if (!name) { r = ERROR_OUTOFMEMORY; diff --git a/dlls/msi/table.c b/dlls/msi/table.c index 8168e2f837d..36ad4059014 100644 --- a/dlls/msi/table.c +++ b/dlls/msi/table.c @@ -3419,7 +3419,7 @@ UINT msi_table_apply_transform( MSIDATABASE *db, IStorage *stg, int err_cond )
list_add_tail( &transforms, &transform->entry );
- transform->name = strdupW( name + 1 ); + transform->name = wcsdup( name + 1 );
if ( !wcscmp( transform->name, L"_Tables" ) ) tables = transform;
This merge request was approved by Hans Leidekker.