Added patch to fix row count in fill_processor and fill_printer function.

This commit is contained in:
Sebastian Lackner
2017-01-12 05:34:14 +01:00
parent 8c909daf10
commit 7ad3349f66
5 changed files with 102 additions and 10 deletions

View File

@@ -1,4 +1,4 @@
From 0a1d25ac7af31d4e2f015cf815f8abcb4d6033e6 Mon Sep 17 00:00:00 2001
From 777d2b61b1104cf2192f6da4c04e7a42d7637561 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 27 May 2016 22:32:23 +0200
Subject: wbemprox: Provide DeviceID, Location and PortName for printers.
@@ -8,10 +8,10 @@ Subject: wbemprox: Provide DeviceID, Location and PortName for printers.
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/dlls/wbemprox/builtin.c b/dlls/wbemprox/builtin.c
index 13f708f..8e730bd 100644
index 14e819e5373..c83e7db499a 100644
--- a/dlls/wbemprox/builtin.c
+++ b/dlls/wbemprox/builtin.c
@@ -237,6 +237,8 @@ static const WCHAR prop_localdatetimeW[] =
@@ -241,6 +241,8 @@ static const WCHAR prop_localdatetimeW[] =
{'L','o','c','a','l','D','a','t','e','T','i','m','e',0};
static const WCHAR prop_localeW[] =
{'L','o','c','a','l','e',0};
@@ -20,7 +20,7 @@ index 13f708f..8e730bd 100644
static const WCHAR prop_lockpresentW[] =
{'L','o','c','k','P','r','e','s','e','n','t',0};
static const WCHAR prop_macaddressW[] =
@@ -279,6 +281,8 @@ static const WCHAR prop_pixelsperxlogicalinchW[] =
@@ -285,6 +287,8 @@ static const WCHAR prop_pixelsperxlogicalinchW[] =
{'P','i','x','e','l','s','P','e','r','X','L','o','g','i','c','a','l','I','n','c','h',0};
static const WCHAR prop_pnpdeviceidW[] =
{'P','N','P','D','e','v','i','c','e','I','D',0};
@@ -29,7 +29,7 @@ index 13f708f..8e730bd 100644
static const WCHAR prop_pprocessidW[] =
{'P','a','r','e','n','t','P','r','o','c','e','s','s','I','D',0};
static const WCHAR prop_primaryW[] =
@@ -543,7 +547,10 @@ static const struct column col_printer[] =
@@ -553,7 +557,10 @@ static const struct column col_printer[] =
{ prop_horizontalresolutionW, CIM_UINT32 },
{ prop_localW, CIM_BOOLEAN },
{ prop_nameW, CIM_STRING|COL_FLAG_DYNAMIC },
@@ -41,7 +41,7 @@ index 13f708f..8e730bd 100644
};
static const struct column col_process[] =
{
@@ -940,6 +947,9 @@ struct record_printer
@@ -938,6 +945,9 @@ struct record_printer
int local;
const WCHAR *name;
int network;
@@ -51,7 +51,7 @@ index 13f708f..8e730bd 100644
};
struct record_process
{
@@ -2285,10 +2295,12 @@ static enum fill_status fill_physicalmemory( struct table *table, const struct e
@@ -2347,10 +2357,12 @@ static enum fill_status fill_physicalmemory( struct table *table, const struct e
static enum fill_status fill_printer( struct table *table, const struct expr *cond )
{
@@ -59,12 +59,12 @@ index 13f708f..8e730bd 100644
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;
+ WCHAR id[20];
EnumPrintersW( PRINTER_ENUM_LOCAL, NULL, 2, NULL, 0, &size, &count );
if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) return FILL_STATUS_FAILED;
@@ -2314,6 +2326,10 @@ static enum fill_status fill_printer( struct table *table, const struct expr *co
@@ -2376,6 +2388,10 @@ static enum fill_status fill_printer( struct table *table, const struct expr *co
rec->local = -1;
rec->name = heap_strdupW( info[i].pPrinterName );
rec->network = 0;
@@ -76,5 +76,5 @@ index 13f708f..8e730bd 100644
{
free_row_values( table, i );
--
2.8.0
2.11.0

View File

@@ -1 +1,2 @@
Fixes: [40539] Provide DeviceID, Location and PortName for printers
Depends: wbemprox-fill_processor