Rémi Bernon (@rbernon) commented about dlls/windows.devices.enumeration/aqs.y:
+#include "aqs.h"
+WINE_DEFAULT_DEBUG_CHANNEL( aqs );
+#define YYFPRINTF(file, ...) TRACE(__VA_ARGS__)
+static const PROPVARIANT propval_empty = { VT_EMPTY };
+static int aqs_error( struct aqs_parser *parser, const char *str ) +{
- if (TRACE_ON( aqs )) ERR( "%s\n", str );
- return 0;
+}
+#define GET_COMPARE_EXPR( ctx, op, prop_vt, val_vt, out ) \
- if (FAILED(get_compare_expr( ctx, op, (prop_vt)->pwszVal, val_vt, out ))) YYABORT
IMO you should get rid of that macro now, and inline the call. Also, you should pass prop_vt directly and clear it in the call like you do with var_vt. I think prop_vt is leaked otherwise.