Remove ZeroMemory() calls and instead set the relevant fields (usually just iSubItem) to zero manually.

Francois Gouget fgouget at free.fr
Thu Oct 5 04:02:27 CDT 2006


---
 dlls/gphoto2.ds/ui.c        |    6 +++---
 dlls/shell32/shlview.c      |   14 +++++++-------
 programs/taskmgr/dbgchnl.c  |   15 +++++++--------
 programs/taskmgr/debug.c    |    3 +--
 programs/taskmgr/endproc.c  |    6 ++----
 programs/taskmgr/priority.c |    3 +--
 programs/taskmgr/procpage.c |    3 +--
 7 files changed, 22 insertions(+), 28 deletions(-)

diff --git a/dlls/gphoto2.ds/ui.c b/dlls/gphoto2.ds/ui.c
index d6a488f..e709984 100644
--- a/dlls/gphoto2.ds/ui.c
+++ b/dlls/gphoto2.ds/ui.c
@@ -55,9 +55,9 @@ static void PopulateListView(HWND List)
 	{
 		if (strstr(file->filename,".JPG") || strstr(file->filename,".jpg")) 
 		{
-			memset(&item,0,sizeof(item));
 			item.mask = LVIF_PARAM | LVIF_TEXT | LVIF_IMAGE ;
 			item.iItem = index;
+			item.iSubItem = 0;
 			item.pszText = file->filename;
 			item.iImage = index;
 			item.lParam= (LPARAM)file;
@@ -172,11 +172,11 @@ static INT_PTR CALLBACK DialogProc(HWND 
 								LVITEMA item;
 								struct gphoto2_file *file;
 
-								memset(&item,0,sizeof(item));
 
 								item.mask = LVIF_PARAM;
 								item.iItem = i;
 
+								item.iSubItem = 0;
 								SendMessageA(list,LVM_GETITEMA,0,(LPARAM)&item);
 
 								file = (struct gphoto2_file*)item.lParam;
@@ -204,10 +204,10 @@ static INT_PTR CALLBACK DialogProc(HWND 
 							LVITEMA item;
 							struct gphoto2_file *file;
 
-							memset(&item,0,sizeof(item));
 
 							item.mask = LVIF_PARAM;
 							item.iItem = i;
+							item.iSubItem = 0;
 
 							SendMessageA(list,LVM_GETITEMA,0,(LPARAM)&item);
 
diff --git a/dlls/shell32/shlview.c b/dlls/shell32/shlview.c
index 1385e36..89444dc 100644
--- a/dlls/shell32/shlview.c
+++ b/dlls/shell32/shlview.c
@@ -527,7 +527,7 @@ static int LV_FindItemByPidl(
 	LPCITEMIDLIST pidl)
 {
 	LVITEMA lvItem;
-	ZeroMemory(&lvItem, sizeof(LVITEMA));
+	lvItem.iSubItem = 0;
 	lvItem.mask = LVIF_PARAM;
 	for(lvItem.iItem = 0;
 		SendMessageA(This->hWndList, LVM_GETITEMA, 0, (LPARAM) &lvItem);
@@ -552,9 +552,9 @@ static BOOLEAN LV_AddItem(IShellViewImpl
 
 	TRACE("(%p)(pidl=%p)\n", This, pidl);
 
-	ZeroMemory(&lvItem, sizeof(lvItem));	/* create the listview item*/
 	lvItem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM;	/*set the mask*/
 	lvItem.iItem = ListView_GetItemCount(This->hWndList);	/*add the item to the end of the list*/
+	lvItem.iSubItem = 0;
 	lvItem.lParam = (LPARAM) ILClone(ILFindLastID(pidl));				/*set the item's data*/
 	lvItem.pszText = LPSTR_TEXTCALLBACKA;			/*get text on a callback basis*/
 	lvItem.iImage = I_IMAGECALLBACK;			/*get the image on a callback basis*/
@@ -587,7 +587,6 @@ static BOOLEAN LV_RenameItem(IShellViewI
 	nItem = LV_FindItemByPidl(This, ILFindLastID(pidlOld));
 	if ( -1 != nItem )
 	{
-	  ZeroMemory(&lvItem, sizeof(lvItem));	/* create the listview item*/
 	  lvItem.mask = LVIF_PARAM;		/* only the pidl */
 	  lvItem.iItem = nItem;
 	  SendMessageA(This->hWndList, LVM_GETITEMA, 0, (LPARAM) &lvItem);
@@ -826,9 +825,10 @@ static UINT ShellView_GetSelections(IShe
 	{
 	  TRACE("-- Items selected =%u\n", This->cidl);
 
-	  ZeroMemory(&lvItem, sizeof(lvItem));
 	  lvItem.mask = LVIF_STATE | LVIF_PARAM;
 	  lvItem.stateMask = LVIS_SELECTED;
+	  lvItem.iItem = 0;
+	  lvItem.iSubItem = 0;
 
 	  while(ListView_GetItemA(This->hWndList, &lvItem) && (i < This->cidl))
 	  {
@@ -1429,8 +1429,8 @@ static LRESULT ShellView_OnNotify(IShell
 		WCHAR wszNewName[MAX_PATH];
 		LVITEMA lvItem;
 
-		ZeroMemory(&lvItem, sizeof(LVITEMA));
 		lvItem.iItem = lpdi->item.iItem;
+		lvItem.iSubItem = 0;
 		lvItem.mask = LVIF_PARAM;
 		SendMessageA(This->hWndList, LVM_GETITEMA, 0, (LPARAM) &lvItem);
 
@@ -1979,7 +1979,7 @@ static HRESULT WINAPI IShellView_fnSelec
 	  if(uFlags & SVSI_ENSUREVISIBLE)
 	    SendMessageW(This->hWndList, LVM_ENSUREVISIBLE, i, 0);
 
-          ZeroMemory(&lvItem, sizeof(LVITEMA));
+	  ZeroMemory(&lvItem, sizeof(LVITEMA));
 	  lvItem.mask = LVIF_STATE;
 	  lvItem.iItem = 0;
 
@@ -2261,9 +2261,9 @@ static HRESULT drag_notify_subitem(IShel
     } else {
         /* Query the relative PIDL of the shellfolder object represented by the currently
          * dragged over listview-item ... */
-        ZeroMemory(&lvItem, sizeof(lvItem));
         lvItem.mask = LVIF_PARAM;
         lvItem.iItem = lResult;
+        lvItem.iSubItem = 0;
         SendMessageA(This->hWndList, LVM_GETITEMA, 0, (LPARAM) &lvItem);
 
         /* ... and bind pCurDropTarget to the IDropTarget interface of an UIObject of this object */
diff --git a/programs/taskmgr/dbgchnl.c b/programs/taskmgr/dbgchnl.c
index f1ebdfa..9671469 100644
--- a/programs/taskmgr/dbgchnl.c
+++ b/programs/taskmgr/dbgchnl.c
@@ -86,11 +86,10 @@ static DWORD    get_selected_pid(void)
 
     for (Index = 0; Index < (ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++)
     {
-        memset(&lvitem, 0, sizeof(LVITEM));
-
         lvitem.mask = LVIF_STATE;
         lvitem.stateMask = LVIS_SELECTED;
         lvitem.iItem = Index;
+        lvitem.iSubItem = 0;
 
         SendMessage(hProcessPageListCtrl, LVM_GETITEM, 0, (LPARAM) &lvitem);
 
@@ -109,16 +108,16 @@ static int     list_channel_CB(HANDLE hP
 {
     int         j;
     char        val[2];
-    LVITEMA     lvi;
+    LVITEMA     lvitem;
     int         index;
     HWND        hChannelLV = (HWND)user;
 
-    memset(&lvi, 0, sizeof(lvi));
-
-    lvi.mask = LVIF_TEXT;
-    lvi.pszText = channel->name;
+    lvitem.mask = LVIF_TEXT;
+    lvitem.pszText = channel->name;
+    lvitem.iItem = 0;
+    lvitem.iSubItem = 0;
 
-    index = ListView_InsertItem(hChannelLV, &lvi);
+    index = ListView_InsertItem(hChannelLV, &lvitem);
     if (index == -1) return 0;
 
     val[1] = '\0';
diff --git a/programs/taskmgr/debug.c b/programs/taskmgr/debug.c
index 6db70bb..198fa56 100644
--- a/programs/taskmgr/debug.c
+++ b/programs/taskmgr/debug.c
@@ -49,11 +49,10 @@ void ProcessPage_OnDebug(void)
 
     for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++)
     {
-        memset(&lvitem, 0, sizeof(LVITEM));
-
         lvitem.mask = LVIF_STATE;
         lvitem.stateMask = LVIS_SELECTED;
         lvitem.iItem = Index;
+        lvitem.iSubItem = 0;
 
         SendMessage(hProcessPageListCtrl, LVM_GETITEM, 0, (LPARAM) &lvitem);
 
diff --git a/programs/taskmgr/endproc.c b/programs/taskmgr/endproc.c
index 519f1a6..5708dd3 100644
--- a/programs/taskmgr/endproc.c
+++ b/programs/taskmgr/endproc.c
@@ -43,11 +43,10 @@ void ProcessPage_OnEndProcess(void)
 
     for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++)
     {
-        memset(&lvitem, 0, sizeof(LVITEM));
-
         lvitem.mask = LVIF_STATE;
         lvitem.stateMask = LVIS_SELECTED;
         lvitem.iItem = Index;
+        lvitem.iSubItem = 0;
 
         SendMessage(hProcessPageListCtrl, LVM_GETITEM, 0, (LPARAM) &lvitem);
 
@@ -91,11 +90,10 @@ void ProcessPage_OnEndProcessTree(void)
 
     for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++)
     {
-        memset(&lvitem, 0, sizeof(LVITEM));
-
         lvitem.mask = LVIF_STATE;
         lvitem.stateMask = LVIS_SELECTED;
         lvitem.iItem = Index;
+        lvitem.iSubItem = 0;
 
         SendMessage(hProcessPageListCtrl, LVM_GETITEM, 0, (LPARAM) &lvitem);
 
diff --git a/programs/taskmgr/priority.c b/programs/taskmgr/priority.c
index fb99c94..c27c765 100644
--- a/programs/taskmgr/priority.c
+++ b/programs/taskmgr/priority.c
@@ -43,11 +43,10 @@ static void DoSetPriority(DWORD priority
 
     for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++)
     {
-        memset(&lvitem, 0, sizeof(LVITEM));
-
         lvitem.mask = LVIF_STATE;
         lvitem.stateMask = LVIS_SELECTED;
         lvitem.iItem = Index;
+        lvitem.iSubItem = 0;
 
         SendMessage(hProcessPageListCtrl, LVM_GETITEM, 0, (LPARAM)&lvitem);
 
diff --git a/programs/taskmgr/procpage.c b/programs/taskmgr/procpage.c
index 15cf666..04921c0 100644
--- a/programs/taskmgr/procpage.c
+++ b/programs/taskmgr/procpage.c
@@ -322,11 +322,10 @@ #endif
 
             for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++)
             {
-                memset(&lvitem, 0, sizeof(LVITEM));
-
                 lvitem.mask = LVIF_STATE;
                 lvitem.stateMask = LVIS_SELECTED;
                 lvitem.iItem = Index;
+                lvitem.iSubItem = 0;
 
                 SendMessage(hProcessPageListCtrl, LVM_GETITEM, 0, (LPARAM) &lvitem);
 
-- 
1.4.1.1




More information about the wine-patches mailing list