You will need to split this patch into two. Checking for NULL has nothing
to do with callback. Also I'm not sure why are you removing NULL check?
Any explanations, tests?
This patch is already split into eight parts - I hope thay are small
enough. That's true the first patch doesn't have much to do with
callbacks but without it the other patches would have offsets during
patching. I've removed the checks because lpItem can't be NULL (lpItem =
&infoPtr->items[nItem]) and I thought it's useless to have conditions
that are always true. From the CVS history it seems that in the past
lpItem could be NULL for out-of-range indexes but after some time
GetItemT was changed to return FALSE in such cases but the checks remained.
Mikolaj Zalewski