oledlg: Cast-qual warnings fix (Try 2)
Andrew Talbot
Andrew.Talbot at talbotville.com
Thu Nov 9 13:59:02 CST 2006
This version keeps the original upward-counting for loop.
-- Andy.
---
Changelog:
oledlg: Cast-qual warnings fix.
diff -urN a/dlls/oledlg/pastespl.c b/dlls/oledlg/pastespl.c
--- a/dlls/oledlg/pastespl.c 2006-10-25 17:34:28.000000000 +0100
+++ b/dlls/oledlg/pastespl.c 2006-11-09 19:43:07.000000000 +0000
@@ -636,6 +636,10 @@
UINT WINAPI OleUIPasteSpecialA(LPOLEUIPASTESPECIALA psA)
{
OLEUIPASTESPECIALW ps;
+ WCHAR *caption;
+ WCHAR *template;
+ WCHAR **format_name;
+ WCHAR **result_text;
UINT ret;
TRACE("(%p)\n", psA);
@@ -652,11 +656,13 @@
ps.arrPasteEntries = HeapAlloc(GetProcessHeap(), 0, size);
memcpy(ps.arrPasteEntries, psA->arrPasteEntries, size);
+ format_name = HeapAlloc(GetProcessHeap(), 0, psA->cPasteEntries * sizeof(WCHAR *));
+ result_text = HeapAlloc(GetProcessHeap(), 0, psA->cPasteEntries * sizeof(WCHAR *));
for(i = 0; i < psA->cPasteEntries; i++)
{
- ps.arrPasteEntries[i].lpstrFormatName =
+ ps.arrPasteEntries[i].lpstrFormatName = format_name[i] =
strdupAtoW(psA->arrPasteEntries[i].lpstrFormatName);
- ps.arrPasteEntries[i].lpstrResultText =
+ ps.arrPasteEntries[i].lpstrResultText = result_text[i] =
strdupAtoW(psA->arrPasteEntries[i].lpstrResultText);
}
}
@@ -666,16 +672,19 @@
if(psA->cPasteEntries > 0)
{
UINT i;
+
for(i = 0; i < psA->cPasteEntries; i++)
{
- HeapFree(GetProcessHeap(), 0, (WCHAR*)ps.arrPasteEntries[i].lpstrFormatName);
- HeapFree(GetProcessHeap(), 0, (WCHAR*)ps.arrPasteEntries[i].lpstrResultText);
+ HeapFree(GetProcessHeap(), 0, format_name[i]);
+ HeapFree(GetProcessHeap(), 0, result_text[i]);
}
+ HeapFree(GetProcessHeap(), 0, result_text);
+ HeapFree(GetProcessHeap(), 0, format_name);
HeapFree(GetProcessHeap(), 0, ps.arrPasteEntries);
}
if(!IS_INTRESOURCE(ps.lpszTemplate))
- HeapFree(GetProcessHeap(), 0, (WCHAR*)ps.lpszTemplate);
- HeapFree(GetProcessHeap(), 0, (WCHAR*)ps.lpszCaption);
+ HeapFree(GetProcessHeap(), 0, template);
+ HeapFree(GetProcessHeap(), 0, caption);
/* Copy back the output fields */
psA->dwFlags = ps.dwFlags;
More information about the wine-patches
mailing list