comctl32/listview: Use CRT allocation functions.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
This commit is contained in:
Nikolay Sivov 2022-11-23 11:50:29 +03:00 committed by Alexandre Julliard
parent aa98d43c45
commit 0002cb89ec

View file

@ -485,7 +485,7 @@ static inline LPWSTR textdupTtoW(LPCWSTR text, BOOL isW)
if (!isW && is_text(text))
{
INT len = MultiByteToWideChar(CP_ACP, 0, (LPCSTR)text, -1, NULL, 0);
wstr = Alloc(len * sizeof(WCHAR));
wstr = calloc(len, sizeof(WCHAR));
if (wstr) MultiByteToWideChar(CP_ACP, 0, (LPCSTR)text, -1, wstr, len);
}
TRACE(" wstr=%s\n", text == LPSTR_TEXTCALLBACKW ? "(callback)" : debugstr_w(wstr));
@ -494,7 +494,7 @@ static inline LPWSTR textdupTtoW(LPCWSTR text, BOOL isW)
static inline void textfreeT(LPWSTR wstr, BOOL isW)
{
if (!isW && is_text(wstr)) Free (wstr);
if (!isW && is_text(wstr)) free (wstr);
}
/*
@ -507,7 +507,7 @@ static BOOL textsetptrT(LPWSTR *dest, LPCWSTR src, BOOL isW)
if (src == LPSTR_TEXTCALLBACKW)
{
if (is_text(*dest)) Free(*dest);
if (is_text(*dest)) free(*dest);
*dest = LPSTR_TEXTCALLBACKW;
}
else
@ -808,12 +808,12 @@ static LRESULT notify_forward_header(const LISTVIEW_INFO *infoPtr, NMHEADERW *lp
/* cleanup */
if(text)
{
Free(lpnmh->pitem->pszText);
free(lpnmh->pitem->pszText);
lpnmh->pitem->pszText = (LPSTR)text;
}
if(filter)
{
Free(((HD_TEXTFILTERA*)lpnmh->pitem->pvFilter)->pszText);
free(((HD_TEXTFILTERA*)lpnmh->pitem->pvFilter)->pszText);
((HD_TEXTFILTERA*)lpnmh->pitem->pvFilter)->pszText = (LPSTR)filter;
}
@ -958,7 +958,7 @@ static BOOL notify_dispinfoT(const LISTVIEW_INFO *infoPtr, UINT code, LPNMLVDISP
*pdi->item.pszText = 0; /* make sure we don't process garbage */
}
buffer = Alloc( (return_ansi ? sizeof(WCHAR) : sizeof(CHAR)) * length);
buffer = calloc( length, return_ansi ? sizeof(WCHAR) : sizeof(CHAR) );
if (!buffer) return FALSE;
if (return_ansi)
@ -1001,7 +1001,7 @@ static BOOL notify_dispinfoT(const LISTVIEW_INFO *infoPtr, UINT code, LPNMLVDISP
pdi->item.pszText = ret_text; /* restores our buffer */
pdi->item.cchTextMax = ret_length;
Free(buffer);
free(buffer);
return ret;
}
@ -1010,14 +1010,14 @@ static BOOL notify_dispinfoT(const LISTVIEW_INFO *infoPtr, UINT code, LPNMLVDISP
{
length = WideCharToMultiByte(CP_ACP, 0, pdi->item.pszText, -1, NULL, 0, NULL, NULL);
buffer = Alloc(length * sizeof(CHAR));
buffer = calloc(length, sizeof(CHAR));
if (!buffer) return FALSE;
WideCharToMultiByte(CP_ACP, 0, pdi->item.pszText, -1, (LPSTR) buffer,
ret_length, NULL, NULL);
strcpy((LPSTR)pdi->item.pszText, (LPSTR)buffer);
Free(buffer);
free(buffer);
}
return ret;
@ -3118,11 +3118,11 @@ static void ranges_assert(RANGES ranges, LPCSTR desc, const char *file, int line
static RANGES ranges_create(int count)
{
RANGES ranges = Alloc(sizeof(struct tagRANGES));
RANGES ranges = calloc(1, sizeof(*ranges));
if (!ranges) return NULL;
ranges->hdpa = DPA_Create(count);
if (ranges->hdpa) return ranges;
Free(ranges);
free(ranges);
return NULL;
}
@ -3131,7 +3131,7 @@ static void ranges_clear(RANGES ranges)
INT i;
for(i = 0; i < DPA_GetPtrCount(ranges->hdpa); i++)
Free(DPA_GetPtr(ranges->hdpa, i));
free(DPA_GetPtr(ranges->hdpa, i));
DPA_DeleteAllPtrs(ranges->hdpa);
}
@ -3141,7 +3141,7 @@ static void ranges_destroy(RANGES ranges)
if (!ranges) return;
ranges_clear(ranges);
DPA_Destroy(ranges->hdpa);
Free(ranges);
free(ranges);
}
static RANGES ranges_clone(RANGES ranges)
@ -3153,12 +3153,12 @@ static RANGES ranges_clone(RANGES ranges)
for (i = 0; i < DPA_GetPtrCount(ranges->hdpa); i++)
{
RANGE *newrng = Alloc(sizeof(RANGE));
RANGE *newrng = calloc(1, sizeof(*newrng));
if (!newrng) goto fail;
*newrng = *((RANGE*)DPA_GetPtr(ranges->hdpa, i));
if (!DPA_SetPtr(clone->hdpa, i, newrng))
{
Free(newrng);
free(newrng);
goto fail;
}
}
@ -3249,7 +3249,7 @@ static BOOL ranges_add(RANGES ranges, RANGE range)
TRACE("Adding new range\n");
/* create the brand new range to insert */
newrgn = Alloc(sizeof(RANGE));
newrgn = calloc(1, sizeof(*newrgn));
if(!newrgn) goto fail;
*newrgn = range;
@ -3261,7 +3261,7 @@ static BOOL ranges_add(RANGES ranges, RANGE range)
/* and get it over with */
if (DPA_InsertPtr(ranges->hdpa, index, newrgn) == -1)
{
Free(newrgn);
free(newrgn);
goto fail;
}
}
@ -3298,7 +3298,7 @@ static BOOL ranges_add(RANGES ranges, RANGE range)
mrgrgn = DPA_GetPtr(ranges->hdpa, mergeindex);
chkrgn->lower = min(chkrgn->lower, mrgrgn->lower);
chkrgn->upper = max(chkrgn->upper, mrgrgn->upper);
Free(mrgrgn);
free(mrgrgn);
DPA_DeletePtr(ranges->hdpa, mergeindex);
if (mergeindex < index) index --;
} while(1);
@ -3334,7 +3334,7 @@ static BOOL ranges_del(RANGES ranges, RANGE range)
(chkrgn->lower == range.lower) )
{
DPA_DeletePtr(ranges->hdpa, index);
Free(chkrgn);
free(chkrgn);
break;
}
/* case 2: engulf */
@ -3342,7 +3342,7 @@ static BOOL ranges_del(RANGES ranges, RANGE range)
(chkrgn->lower >= range.lower) )
{
DPA_DeletePtr(ranges->hdpa, index);
Free(chkrgn);
free(chkrgn);
}
/* case 3: overlap upper */
else if ( (chkrgn->upper <= range.upper) &&
@ -3362,13 +3362,13 @@ static BOOL ranges_del(RANGES ranges, RANGE range)
{
RANGE *newrgn;
if (!(newrgn = Alloc(sizeof(RANGE)))) goto fail;
if (!(newrgn = calloc(1, sizeof(*newrgn)))) goto fail;
newrgn->lower = chkrgn->lower;
newrgn->upper = range.lower;
chkrgn->lower = range.upper;
if (DPA_InsertPtr(ranges->hdpa, index, newrgn) == -1)
{
Free(newrgn);
free(newrgn);
goto fail;
}
break;
@ -4422,7 +4422,7 @@ static BOOL set_sub_item(const LISTVIEW_INFO *infoPtr, const LVITEMW *lpLVItem,
SUBITEM_INFO *tmpSubItem;
INT i;
lpSubItem = Alloc(sizeof(SUBITEM_INFO));
lpSubItem = calloc(1, sizeof(*lpSubItem));
if (!lpSubItem) return FALSE;
/* we could binary search here, if need be...*/
for (i = 1; i < DPA_GetPtrCount(hdpaSubItems); i++)
@ -4432,7 +4432,7 @@ static BOOL set_sub_item(const LISTVIEW_INFO *infoPtr, const LVITEMW *lpLVItem,
}
if (DPA_InsertPtr(hdpaSubItems, i, lpSubItem) == -1)
{
Free(lpSubItem);
free(lpSubItem);
return FALSE;
}
lpSubItem->iSubItem = lpLVItem->iSubItem;
@ -5568,13 +5568,13 @@ static BOOL LISTVIEW_DeleteAllItems(LISTVIEW_INFO *infoPtr, BOOL destroy)
j = DPA_GetPtrIndex(infoPtr->hdpaItemIds, lpItem->id);
lpID = DPA_GetPtr(infoPtr->hdpaItemIds, j);
DPA_DeletePtr(infoPtr->hdpaItemIds, j);
Free(lpID);
free(lpID);
/* both item and subitem start with ITEMHDR header */
for (j = 0; j < DPA_GetPtrCount(hdpaSubItems); j++)
{
hdrItem = DPA_GetPtr(hdpaSubItems, j);
if (is_text(hdrItem->pszText)) Free(hdrItem->pszText);
Free(hdrItem);
if (is_text(hdrItem->pszText)) free(hdrItem->pszText);
free(hdrItem);
}
DPA_Destroy(hdpaSubItems);
DPA_DeletePtr(infoPtr->hdpaItems, i);
@ -5683,7 +5683,7 @@ static BOOL LISTVIEW_DeleteColumn(LISTVIEW_INFO *infoPtr, INT nColumn)
if (!SendMessageW(infoPtr->hwndHeader, HDM_DELETEITEM, nColumn, 0))
return FALSE;
Free(DPA_GetPtr(infoPtr->hdpaColumns, nColumn));
free(DPA_GetPtr(infoPtr->hdpaColumns, nColumn));
DPA_DeletePtr(infoPtr->hdpaColumns, nColumn);
if (!(infoPtr->dwStyle & LVS_OWNERDATA) && nColumn)
@ -5716,10 +5716,10 @@ static BOOL LISTVIEW_DeleteColumn(LISTVIEW_INFO *infoPtr, INT nColumn)
{
/* free string */
if (is_text(lpDelItem->hdr.pszText))
Free(lpDelItem->hdr.pszText);
free(lpDelItem->hdr.pszText);
/* free item */
Free(lpDelItem);
free(lpDelItem);
/* free dpa memory */
DPA_DeletePtr(hdpaSubItems, nSubItem);
@ -5858,12 +5858,12 @@ static BOOL LISTVIEW_DeleteItem(LISTVIEW_INFO *infoPtr, INT nItem)
i = DPA_GetPtrIndex(infoPtr->hdpaItemIds, lpItem->id);
lpID = DPA_GetPtr(infoPtr->hdpaItemIds, i);
DPA_DeletePtr(infoPtr->hdpaItemIds, i);
Free(lpID);
free(lpID);
for (i = 0; i < DPA_GetPtrCount(hdpaSubItems); i++)
{
hdrItem = DPA_GetPtr(hdpaSubItems, i);
if (is_text(hdrItem->pszText)) Free(hdrItem->pszText);
Free(hdrItem);
if (is_text(hdrItem->pszText)) free(hdrItem->pszText);
free(hdrItem);
}
DPA_Destroy(hdpaSubItems);
}
@ -5914,7 +5914,7 @@ static BOOL LISTVIEW_EndEditLabelT(LISTVIEW_INFO *infoPtr, BOOL storeText, BOOL
if (len++)
{
if (!(pszText = Alloc(len * (isW ? sizeof(WCHAR) : sizeof(CHAR)))))
if (!(pszText = calloc(len, isW ? sizeof(WCHAR) : sizeof(CHAR))))
return FALSE;
if (isW)
@ -5998,7 +5998,7 @@ static BOOL LISTVIEW_EndEditLabelT(LISTVIEW_INFO *infoPtr, BOOL storeText, BOOL
res = LISTVIEW_SetItemT(infoPtr, &dispInfo.item, isW);
cleanup:
Free(pszText);
free(pszText);
return res;
}
@ -7788,14 +7788,14 @@ static INT LISTVIEW_InsertItemT(LISTVIEW_INFO *infoPtr, const LVITEMW *lpLVItem,
if (!is_assignable_item(lpLVItem, infoPtr->dwStyle)) return -1;
if (!(lpItem = Alloc(sizeof(ITEM_INFO)))) return -1;
if (!(lpItem = calloc(1, sizeof(*lpItem)))) return -1;
/* insert item in listview control data structure */
if ( !(hdpaSubItems = DPA_Create(8)) ) goto fail;
if ( !DPA_SetPtr(hdpaSubItems, 0, lpItem) ) assert (FALSE);
/* link with id struct */
if (!(lpID = Alloc(sizeof(ITEM_ID)))) goto fail;
if (!(lpID = calloc(1, sizeof(*lpID)))) goto fail;
lpItem->id = lpID;
lpID->item = hdpaSubItems;
lpID->id = get_next_itemid(infoPtr);
@ -7923,7 +7923,7 @@ undo:
fail:
DPA_DeletePtr(hdpaSubItems, 0);
DPA_Destroy (hdpaSubItems);
Free (lpItem);
free (lpItem);
return -1;
}
@ -8248,7 +8248,7 @@ static INT LISTVIEW_InsertColumnT(LISTVIEW_INFO *infoPtr, INT nColumn,
if (nNewColumn != nColumn) ERR("nColumn=%d, nNewColumn=%d\n", nColumn, nNewColumn);
/* create our own column info */
if (!(lpColumnInfo = Alloc(sizeof(COLUMN_INFO)))) goto fail;
if (!(lpColumnInfo = calloc(1, sizeof(*lpColumnInfo)))) goto fail;
if (DPA_InsertPtr(infoPtr->hdpaColumns, nNewColumn, lpColumnInfo) == -1) goto fail;
if (lpColumn->mask & LVCF_FMT) lpColumnInfo->fmt = lpColumn->fmt;
@ -8296,8 +8296,8 @@ fail:
if (nNewColumn != -1) SendMessageW(infoPtr->hwndHeader, HDM_DELETEITEM, nNewColumn, 0);
if (lpColumnInfo)
{
DPA_DeletePtr(infoPtr->hdpaColumns, nNewColumn);
Free(lpColumnInfo);
DPA_DeletePtr(infoPtr->hdpaColumns, nNewColumn);
free(lpColumnInfo);
}
return -1;
}
@ -9546,7 +9546,7 @@ static LRESULT LISTVIEW_NCCreate(HWND hwnd, WPARAM wParam, const CREATESTRUCTW *
TRACE("(lpcs=%p)\n", lpcs);
/* initialize info pointer */
infoPtr = Alloc(sizeof(LISTVIEW_INFO));
infoPtr = calloc(1, sizeof(*infoPtr));
if (!infoPtr) return FALSE;
SetWindowLongPtrW(hwnd, 0, (DWORD_PTR)infoPtr);
@ -9609,7 +9609,7 @@ fail:
DPA_Destroy(infoPtr->hdpaPosX);
DPA_Destroy(infoPtr->hdpaPosY);
DPA_Destroy(infoPtr->hdpaColumns);
Free(infoPtr);
free(infoPtr);
return FALSE;
}
@ -10485,7 +10485,7 @@ static LRESULT LISTVIEW_NCDestroy(LISTVIEW_INFO *infoPtr)
DPA_Destroy(infoPtr->hdpaPosY);
/* columns */
for (i = 0; i < DPA_GetPtrCount(infoPtr->hdpaColumns); i++)
Free(DPA_GetPtr(infoPtr->hdpaColumns, i));
free(DPA_GetPtr(infoPtr->hdpaColumns, i));
DPA_Destroy(infoPtr->hdpaColumns);
ranges_destroy(infoPtr->selectionRanges);
@ -10505,8 +10505,7 @@ static LRESULT LISTVIEW_NCDestroy(LISTVIEW_INFO *infoPtr)
SetWindowLongPtrW(infoPtr->hwndSelf, 0, 0);
/* free listview info pointer*/
Free(infoPtr);
free(infoPtr);
return 0;
}