From f2c005464ef4c0ec5f424d094eb6300e3514b288 Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Fri, 27 Jan 2017 09:16:55 +0100 Subject: [PATCH] wbemprox: Only include matching rows in the table row count. Signed-off-by: Hans Leidekker Signed-off-by: Alexandre Julliard --- dlls/wbemprox/builtin.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/dlls/wbemprox/builtin.c b/dlls/wbemprox/builtin.c index cf9ae5c8437..14e819e5373 100644 --- a/dlls/wbemprox/builtin.c +++ b/dlls/wbemprox/builtin.c @@ -2350,7 +2350,7 @@ static enum fill_status fill_printer( struct table *table, const struct expr *co struct record_printer *rec; enum fill_status status = FILL_STATUS_UNFILTERED; PRINTER_INFO_2W *info; - DWORD i, offset = 0, count = 0, size = 0; + DWORD i, offset = 0, count = 0, size = 0, num_rows = 0; EnumPrintersW( PRINTER_ENUM_LOCAL, NULL, 2, NULL, 0, &size, &count ); if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) return FILL_STATUS_FAILED; @@ -2382,9 +2382,10 @@ static enum fill_status fill_printer( struct table *table, const struct expr *co continue; } offset += sizeof(*rec); + num_rows++; } - TRACE("created %u rows\n", count); - table->num_rows = count; + TRACE("created %u rows\n", num_rows); + table->num_rows = num_rows; heap_free( info ); return status; @@ -2567,7 +2568,7 @@ static enum fill_status fill_processor( struct table *table, const struct expr * static const WCHAR fmtW[] = {'C','P','U','%','u',0}; WCHAR caption[100], device_id[14], processor_id[17], manufacturer[13], name[49] = {0}, version[50]; struct record_processor *rec; - UINT i, offset = 0, num_cores, num_logical_processors, count = get_processor_count(); + UINT i, offset = 0, num_rows = 0, num_cores, num_logical_processors, count = get_processor_count(); enum fill_status status = FILL_STATUS_UNFILTERED; if (!resize_table( table, count, sizeof(*rec) )) return FILL_STATUS_FAILED; @@ -2608,10 +2609,11 @@ static enum fill_status fill_processor( struct table *table, const struct expr * continue; } offset += sizeof(*rec); + num_rows++; } - TRACE("created %u rows\n", count); - table->num_rows = count; + TRACE("created %u rows\n", num_rows); + table->num_rows = num_rows; return status; }