Alexandre Julliard : sane.ds: Use CRT memory allocation functions.
Alexandre Julliard
julliard at winehq.org
Thu Oct 28 16:07:44 CDT 2021
Module: wine
Branch: master
Commit: 3578b2a74fa88b922a3a13ee7d55bf0b6daf80bf
URL: https://source.winehq.org/git/wine.git/?a=commit;h=3578b2a74fa88b922a3a13ee7d55bf0b6daf80bf
Author: Alexandre Julliard <julliard at winehq.org>
Date: Thu Oct 28 13:01:10 2021 +0200
sane.ds: Use CRT memory allocation functions.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/sane.ds/ui.c | 58 ++++++++++++++++++++++---------------------------------
1 file changed, 23 insertions(+), 35 deletions(-)
diff --git a/dlls/sane.ds/ui.c b/dlls/sane.ds/ui.c
index 918dbe47a88..8be7ed42b70 100644
--- a/dlls/sane.ds/ui.c
+++ b/dlls/sane.ds/ui.c
@@ -61,7 +61,7 @@ static int create_leading_static(HDC hdc, const WCHAR *text,
len += sizeof(DLGITEMTEMPLATE);
len += 4*sizeof(WORD);
- tpl = HeapAlloc(GetProcessHeap(),0,len);
+ tpl = malloc(len);
tpl->style=WS_VISIBLE;
tpl->dwExtendedStyle = 0;
tpl->x = 4;
@@ -100,7 +100,7 @@ static int create_trailing_edit(HDC hdc, LPDLGITEMTEMPLATEW* template_out, int i
len += sizeof(DLGITEMTEMPLATE);
len += 4*sizeof(WORD);
- tpl = HeapAlloc(GetProcessHeap(),0,len);
+ tpl = malloc(len);
tpl->style=WS_VISIBLE|ES_READONLY|WS_BORDER;
tpl->dwExtendedStyle = 0;
tpl->x = 1;
@@ -189,12 +189,12 @@ static int create_item(HDC hdc, const struct option_descriptor *opt,
}
case TYPE_FIXED:
{
- int *i = HeapAlloc(GetProcessHeap(),0,opt->size*sizeof(int));
+ int *i = calloc( opt->size, sizeof(int) );
sane_option_get_value( id - ID_BASE, i );
swprintf(buffer, ARRAY_SIZE(buffer), L"%f", *i / 65536.0);
- HeapFree(GetProcessHeap(),0,i);
+ free( i );
switch (opt->constraint_type)
{
@@ -251,15 +251,9 @@ static int create_item(HDC hdc, const struct option_descriptor *opt,
if (title) local_len += lstrlenW(title) * sizeof(WCHAR);
local_len += 4*sizeof(WORD);
- if (lead_static)
- {
- padding = leading_len % sizeof(DWORD);
- rc = HeapReAlloc(GetProcessHeap(),0,lead_static,leading_len+local_len + padding);
- tpl = (LPDLGITEMTEMPLATEW)((LPBYTE)rc + leading_len + padding);
- }
- else
- rc = tpl = HeapAlloc(GetProcessHeap(),0,local_len);
-
+ padding = leading_len % sizeof(DWORD);
+ rc = realloc(lead_static, leading_len + local_len + padding);
+ tpl = (LPDLGITEMTEMPLATEW)((LPBYTE)rc + leading_len + padding);
tpl->style=styles;
tpl->dwExtendedStyle = 0;
if (lead_static)
@@ -307,8 +301,7 @@ static int create_item(HDC hdc, const struct option_descriptor *opt,
padding2 = (leading_len + local_len + padding)% sizeof(DWORD);
- rc = HeapReAlloc(GetProcessHeap(),0,rc,leading_len+local_len + padding
- +padding2+trail_len);
+ rc = realloc( rc, leading_len + local_len + padding +padding2 + trail_len);
memcpy(((LPBYTE)rc) + leading_len + local_len + padding + padding2,
trail_edit,trail_len);
@@ -389,13 +382,10 @@ static LPDLGTEMPLATEW create_options_page(HDC hdc, int *from_index,
if (all_controls)
{
- LPBYTE newone;
- newone = HeapReAlloc(GetProcessHeap(),0,all_controls,
- control_len + len + padding);
- all_controls = newone;
+ all_controls = realloc(all_controls, control_len + len + padding);
memcpy(all_controls+control_len,item_tpl,len);
memset(all_controls+control_len+len,0xca,padding);
- HeapFree(GetProcessHeap(),0,item_tpl);
+ free(item_tpl);
}
else
{
@@ -405,10 +395,10 @@ static LPDLGTEMPLATEW create_options_page(HDC hdc, int *from_index,
}
else
{
- all_controls = HeapAlloc(GetProcessHeap(),0,len + padding);
+ all_controls = malloc(len + padding);
memcpy(all_controls,item_tpl,len);
memset(all_controls+len,0xcb,padding);
- HeapFree(GetProcessHeap(),0,item_tpl);
+ free(item_tpl);
}
}
@@ -450,8 +440,7 @@ static LPDLGTEMPLATEW create_options_page(HDC hdc, int *from_index,
*from_index = i-1;
exit:
- tpl = HeapAlloc(GetProcessHeap(),0,sizeof(DLGTEMPLATE) + 3*sizeof(WORD) +
- control_len);
+ tpl = malloc(sizeof(DLGTEMPLATE) + 3*sizeof(WORD) + control_len);
tpl->style = WS_VISIBLE | WS_OVERLAPPEDWINDOW;
tpl->dwExtendedStyle = 0;
@@ -469,7 +458,7 @@ exit:
ptr+=sizeof(WORD);
memcpy(ptr,all_controls,control_len);
- HeapFree(GetProcessHeap(),0,all_controls);
+ free(all_controls);
return tpl;
}
@@ -508,9 +497,7 @@ BOOL DoScannerUI(void)
if (opt.type == TYPE_GROUP)
{
- LPWSTR title = HeapAlloc(GetProcessHeap(),0,(lstrlenW(opt.title) + 1) * sizeof(WCHAR));
- lstrcpyW( title, opt.title );
- psp[page_count].pszTitle = title;
+ psp[page_count].pszTitle = wcsdup( opt.title );
}
if (psp[page_count].u.pResource)
@@ -528,7 +515,7 @@ BOOL DoScannerUI(void)
len = lstrlenA(activeDS.identity.Manufacturer)
+ lstrlenA(activeDS.identity.ProductName) + 2;
- szCaption = HeapAlloc(GetProcessHeap(),0,len *sizeof(WCHAR));
+ szCaption = malloc(len *sizeof(WCHAR));
MultiByteToWideChar(CP_ACP,0,activeDS.identity.Manufacturer,-1,
szCaption,len);
szCaption[lstrlenA(activeDS.identity.Manufacturer)] = ' ';
@@ -549,10 +536,10 @@ BOOL DoScannerUI(void)
for(index = 0; index < page_count; index ++)
{
- HeapFree(GetProcessHeap(),0,(LPBYTE)psp[index].u.pResource);
- HeapFree(GetProcessHeap(),0,(LPBYTE)psp[index].pszTitle);
+ free((LPBYTE)psp[index].u.pResource);
+ free((LPBYTE)psp[index].pszTitle);
}
- HeapFree(GetProcessHeap(),0,szCaption);
+ free(szCaption);
if (psrc == IDOK)
return TRUE;
@@ -739,7 +726,7 @@ static INT_PTR InitializeDialog(HWND hwnd)
SendMessageA(control,SBM_SETRANGE,min,max);
- sf = HeapAlloc(GetProcessHeap(),0,opt.size*sizeof(int));
+ sf = calloc( opt.size, sizeof(int) );
sane_option_get_value( i, sf );
/* Note that conversion of float -> SANE_Fixed is lossy;
@@ -751,7 +738,7 @@ static INT_PTR InitializeDialog(HWND hwnd)
else
pos = MulDiv( *sf, 100, 65536 );
- HeapFree(GetProcessHeap(),0,sf);
+ free(sf);
SendMessageW(control, SBM_SETPOS, pos, TRUE);
UpdateRelevantEdit(hwnd, &opt, pos);
}
@@ -851,7 +838,7 @@ static void ComboChanged(HWND hwnd, INT id, HWND control)
len = SendMessageW(control,CB_GETLBTEXTLEN,selection,0);
len++;
- value = HeapAlloc(GetProcessHeap(),0,len);
+ value = malloc(len);
SendMessageA(control,CB_GETLBTEXT,selection,(LPARAM)value);
if (opt.type == TYPE_STRING)
@@ -864,6 +851,7 @@ static void ComboChanged(HWND hwnd, INT id, HWND control)
sane_option_set_value( opt.optno, &val, &changed );
}
if (changed) InitializeDialog(hwnd);
+ free( value );
}
More information about the wine-cvs
mailing list