Andreas Maier staubim@quantentunnel.de wrote:
+static inline HRESULT enumvar_get_next_item(EnumeratorInstance *This) +{
- HRESULT hres;
- VARIANT nextitem;
- if (This->atend)
- {
This->item = jsval_undefined();return S_OK;- }
- /* dont leak pervious value */
- jsval_release(This->item);
- /* not at end ... get next item */
- VariantInit(&nextitem);
- hres = IEnumVARIANT_Next(This->enumvar, 1, &nextitem, NULL);
- if (hres == S_OK)
- {
hres = variant_to_jsval(&nextitem, &This->item);if (FAILED(hres)){ERR("failed to convert jsval to variant!");This->item = jsval_undefined();}- }
- else
- {
This->item = jsval_undefined();This->atend = TRUE;- }
- VariantClear(&nextitem);
- return S_OK;
+}
It should be possible to get rid of the 'atend' variable.
default:
FIXME("unimplemented flags: %x\n", flags);
ERR("unimplemented flags: %x\n", flags);
It still should be FIXME. Also all the remaining ERR()s should be changed either to a WARN() or a FIXME().