Alistair Leslie-Hughes leslie_alistair@hotmail.com writes:
if(pInfo->dwMask | PIM_CHARSET)
pInfo->hCharset = 0;
if(pInfo->dwMask | PIM_FLAGS)
pInfo->dwFlags = 0x00000000;
if(pInfo->dwMask | PIM_ROWNUMBER)
pInfo->dwRowNumber = 0;
if(pInfo->dwMask | PIM_ENCODINGTYPE)
pInfo->ietEncoding = 0;
if(pInfo->dwMask | PIM_VALUES)
pInfo->cValues = 0;
if(pInfo->dwMask | PIM_PROPID)
pInfo->dwPropId = header->prop->id;
if(pInfo->dwMask | PIM_VTDEFAULT)
pInfo->vtDefault = header->prop->default_vt;
if(pInfo->dwMask | PIM_VTCURRENT)
pInfo->vtCurrent = 0;
This doesn't do what you want. You should initialize to some garbage value instead of 0 in your tests, that would have caught it.