https://git.reactos.org/?p=reactos.git;a=commitdiff;h=7e99651d65d8c33404119d...
commit 7e99651d65d8c33404119d0916d5072813449a8f Author: Amine Khaldi amine.khaldi@reactos.org AuthorDate: Sat Jan 20 13:47:34 2018 +0100 Commit: Amine Khaldi amine.khaldi@reactos.org CommitDate: Sat Jan 20 13:47:34 2018 +0100
[WBEMPROX] Sync with Wine 3.0. CORE-14225 --- dll/win32/wbemprox/builtin.c | 134 +++------------- dll/win32/wbemprox/wql.tab.c | 356 ++++++++++++++++++++++++------------------- dll/win32/wbemprox/wql.y | 36 +++-- media/doc/README.WINE | 2 +- 4 files changed, 241 insertions(+), 287 deletions(-)
diff --git a/dll/win32/wbemprox/builtin.c b/dll/win32/wbemprox/builtin.c index bf92d3c35e..d32b72f9fb 100644 --- a/dll/win32/wbemprox/builtin.c +++ b/dll/win32/wbemprox/builtin.c @@ -136,10 +136,6 @@ static const WCHAR prop_codesetW[] = {'C','o','d','e','S','e','t',0}; static const WCHAR prop_commandlineW[] = {'C','o','m','m','a','n','d','L','i','n','e',0}; -#ifndef __REACTOS__ -static const WCHAR prop_configmanagererrorcodeW[] = - {'C','o','n','f','i','g','M','a','n','a','g','e','r','E','r','r','o','r','C','o','d','e',0}; -#endif static const WCHAR prop_countrycodeW[] = {'C','o','u','n','t','r','y','C','o','d','e',0}; static const WCHAR prop_cpustatusW[] = @@ -192,10 +188,6 @@ static const WCHAR prop_domainroleW[] = {'D','o','m','a','i','n','R','o','l','e',0}; static const WCHAR prop_driveW[] = {'D','r','i','v','e',0}; -#ifndef __REACTOS__ -static const WCHAR prop_driverdateW[] = - {'D','r','i','v','e','r','D','a','t','e',0}; -#endif static const WCHAR prop_drivernameW[] = {'D','r','i','v','e','r','N','a','m','e',0}; #ifndef __REACTOS__ @@ -212,8 +204,6 @@ static const WCHAR prop_flavorW[] = {'F','l','a','v','o','r',0}; static const WCHAR prop_freespaceW[] = {'F','r','e','e','S','p','a','c','e',0}; -static const WCHAR prop_freephysicalmemoryW[] = - {'F','r','e','e','P','h','y','s','i','c','a','l','M','e','m','o','r','y',0}; static const WCHAR prop_handleW[] = {'H','a','n','d','l','e',0}; static const WCHAR prop_horizontalresolutionW[] = @@ -228,10 +218,6 @@ static const WCHAR prop_indexW[] = {'I','n','d','e','x',0}; static const WCHAR prop_installdateW[] = {'I','n','s','t','a','l','l','D','a','t','e',0}; -#ifndef __REACTOS__ -static const WCHAR prop_installeddisplaydriversW[]= - {'I','n','s','t','a','l','l','e','d','D','i','s','p','l','a','y','D','r','i','v','e','r','s',0}; -#endif static const WCHAR prop_interfaceindexW[] = {'I','n','t','e','r','f','a','c','e','I','n','d','e','x',0}; static const WCHAR prop_interfacetypeW[] = @@ -250,8 +236,6 @@ 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}; -static const WCHAR prop_locationW[] = - {'L','o','c','a','t','i','o','n',0}; static const WCHAR prop_lockpresentW[] = {'L','o','c','k','P','r','e','s','e','n','t',0}; static const WCHAR prop_macaddressW[] = @@ -298,8 +282,6 @@ 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}; -static const WCHAR prop_portnameW[] = - {'P','o','r','t','N','a','m','e',0}; 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[] = @@ -344,10 +326,6 @@ static const WCHAR prop_startingoffsetW[] = {'S','t','a','r','t','i','n','g','O','f','f','s','e','t',0}; static const WCHAR prop_stateW[] = {'S','t','a','t','e',0}; -#ifndef __REACTOS__ -static const WCHAR prop_statusW[] = - {'S','t','a','t','u','s',0}; -#endif static const WCHAR prop_statusinfoW[] = {'S','t','a','t','u','s','I','n','f','o',0}; static const WCHAR prop_strvalueW[] = @@ -380,8 +358,6 @@ static const WCHAR prop_varianttypeW[] = {'V','a','r','i','a','n','t','T','y','p','e',0}; static const WCHAR prop_versionW[] = {'V','e','r','s','i','o','n',0}; -static const WCHAR prop_vendorW[] = - {'V','e','n','d','o','r',0}; #ifndef __REACTOS__ static const WCHAR prop_videoarchitectureW[] = {'V','i','d','e','o','A','r','c','h','i','t','e','c','t','u','r','e',0}; @@ -445,8 +421,7 @@ static const struct column col_compsys[] = static const struct column col_compsysproduct[] = { { prop_identifyingnumberW, CIM_STRING|COL_FLAG_KEY }, - { prop_uuidW, CIM_STRING|COL_FLAG_DYNAMIC }, - { prop_vendorW, CIM_STRING }, + { prop_uuidW, CIM_STRING|COL_FLAG_DYNAMIC } }; static const struct column col_datafile[] = { @@ -554,7 +529,6 @@ static const struct column col_os[] = { prop_systemdirectoryW, CIM_STRING|COL_FLAG_DYNAMIC }, { prop_totalvirtualmemorysizeW, CIM_UINT64 }, { prop_totalvisiblememorysizeW, CIM_UINT64 }, - { prop_freephysicalmemoryW, CIM_UINT64 }, { prop_versionW, CIM_STRING|COL_FLAG_DYNAMIC } }; static const struct column col_param[] = @@ -584,10 +558,7 @@ static const struct column col_printer[] = { prop_horizontalresolutionW, CIM_UINT32 }, { prop_localW, CIM_BOOLEAN }, { prop_nameW, CIM_STRING|COL_FLAG_DYNAMIC }, - { prop_networkW, CIM_BOOLEAN }, - { prop_deviceidW, CIM_STRING|COL_FLAG_DYNAMIC|COL_FLAG_KEY }, - { prop_portnameW, CIM_STRING|COL_FLAG_DYNAMIC }, - { prop_locationW, CIM_STRING|COL_FLAG_DYNAMIC }, + { prop_networkW, CIM_BOOLEAN } }; static const struct column col_process[] = { @@ -689,28 +660,24 @@ static const struct column col_systemsecurity[] = #ifndef __REACTOS__ static const struct column col_videocontroller[] = { - { prop_adapterdactypeW, CIM_STRING }, - { prop_adapterramW, CIM_UINT32, VT_I4 }, - { prop_availabilityW, CIM_UINT16 }, - { prop_captionW, CIM_STRING|COL_FLAG_DYNAMIC }, - { prop_configmanagererrorcodeW, CIM_UINT32, VT_I4 }, - { prop_currentbitsperpixelW, CIM_UINT32, VT_I4 }, - { prop_currenthorizontalresW, CIM_UINT32, VT_I4 }, - { prop_currentrefreshrateW, CIM_UINT32, VT_I4 }, - { prop_currentscanmodeW, CIM_UINT16, VT_I4 }, - { prop_currentverticalresW, CIM_UINT32, VT_I4 }, - { prop_descriptionW, CIM_STRING|COL_FLAG_DYNAMIC }, - { prop_deviceidW, CIM_STRING|COL_FLAG_KEY }, - { prop_driverdateW, CIM_DATETIME }, - { prop_driverversionW, CIM_STRING }, - { prop_installeddisplaydriversW,CIM_STRING }, - { prop_nameW, CIM_STRING|COL_FLAG_DYNAMIC }, - { prop_pnpdeviceidW, CIM_STRING|COL_FLAG_DYNAMIC }, - { prop_statusW, CIM_STRING }, - { prop_videoarchitectureW, CIM_UINT16, VT_I4 }, - { prop_videomemorytypeW, CIM_UINT16, VT_I4 }, - { prop_videomodedescriptionW, CIM_STRING|COL_FLAG_DYNAMIC }, - { prop_videoprocessorW, CIM_STRING|COL_FLAG_DYNAMIC }, + { prop_adapterdactypeW, CIM_STRING }, + { prop_adapterramW, CIM_UINT32, VT_I4 }, + { prop_availabilityW, CIM_UINT16 }, + { prop_captionW, CIM_STRING|COL_FLAG_DYNAMIC }, + { prop_currentbitsperpixelW, CIM_UINT32, VT_I4 }, + { prop_currenthorizontalresW, CIM_UINT32, VT_I4 }, + { prop_currentrefreshrateW, CIM_UINT32, VT_I4 }, + { prop_currentscanmodeW, CIM_UINT16, VT_I4 }, + { prop_currentverticalresW, CIM_UINT32, VT_I4 }, + { prop_descriptionW, CIM_STRING|COL_FLAG_DYNAMIC }, + { prop_deviceidW, CIM_STRING|COL_FLAG_KEY }, + { prop_driverversionW, CIM_STRING }, + { prop_nameW, CIM_STRING|COL_FLAG_DYNAMIC }, + { prop_pnpdeviceidW, CIM_STRING|COL_FLAG_DYNAMIC }, + { prop_videoarchitectureW, CIM_UINT16, VT_I4 }, + { prop_videomemorytypeW, CIM_UINT16, VT_I4 }, + { prop_videomodedescriptionW, CIM_STRING|COL_FLAG_DYNAMIC }, + { prop_videoprocessorW, CIM_STRING|COL_FLAG_DYNAMIC } }; #endif
@@ -758,8 +725,6 @@ static const WCHAR compsysproduct_identifyingnumberW[] = static const WCHAR compsysproduct_uuidW[] = {'d','e','a','d','d','e','a','d','-','d','e','a','d','-','d','e','a','d','-','d','e','a','d','-', 'd','e','a','d','d','e','a','d','d','e','a','d',0}; -static const WCHAR compsysproduct_vendorW[] = - {'W','i','n','e',0}; static const WCHAR diskdrive_interfacetypeW[] = {'I','D','E',0}; static const WCHAR diskdrive_manufacturerW[] = @@ -801,12 +766,8 @@ static const WCHAR videocontroller_dactypeW[] = {'I','n','t','e','g','r','a','t','e','d',' ','R','A','M','D','A','C',0}; static const WCHAR videocontroller_deviceidW[] = {'V','i','d','e','o','C','o','n','t','r','o','l','l','e','r','1',0}; -static const WCHAR videocontroller_driverDateW[] = - {'2','0','1','7','0','1','0','1','0','0','0','0','0','0','.','0','0','0','0','0','0','+','0','0','0',0}; static const WCHAR videocontroller_driverversionW[] = {'1','.','0',0}; -static const WCHAR videocontroller_statusW[] = - {'O','K',0}; #endif
#include "pshpack1.h" @@ -856,7 +817,6 @@ struct record_computersystemproduct { const WCHAR *identifyingnumber; const WCHAR *uuid; - const WCHAR *vendor; }; struct record_datafile { @@ -964,7 +924,6 @@ struct record_operatingsystem const WCHAR *systemdirectory; UINT64 totalvirtualmemorysize; UINT64 totalvisiblememorysize; - UINT64 freephysicalmemory; const WCHAR *version; }; struct record_param @@ -995,9 +954,6 @@ struct record_printer int local; const WCHAR *name; int network; - const WCHAR *device_id; - const WCHAR *portname; - const WCHAR *location; }; struct record_process { @@ -1101,7 +1057,6 @@ struct record_videocontroller UINT32 adapter_ram; UINT16 availability; const WCHAR *caption; - UINT32 config_errorcode; UINT32 current_bitsperpixel; UINT32 current_horizontalres; UINT32 current_refreshrate; @@ -1109,12 +1064,9 @@ struct record_videocontroller UINT32 current_verticalres; const WCHAR *description; const WCHAR *device_id; - const WCHAR *driverdate; const WCHAR *driverversion; - const WCHAR *installeddriver; const WCHAR *name; const WCHAR *pnpdevice_id; - const WCHAR *status; UINT16 videoarchitecture; UINT16 videomemorytype; const WCHAR *videomodedescription; @@ -1338,15 +1290,6 @@ static UINT64 get_total_physical_memory(void) return status.ullTotalPhys; }
-static UINT64 get_available_physical_memory(void) -{ - MEMORYSTATUSEX status; - - status.dwLength = sizeof(status); - if (!GlobalMemoryStatusEx( &status )) return 1024 * 1024 * 1024; - return status.ullAvailPhys; -} - static WCHAR *get_computername(void) { WCHAR *ret; @@ -1461,7 +1404,6 @@ static enum fill_status fill_compsysproduct( struct table *table, const struct e rec = (struct record_computersystemproduct *)table->data; rec->identifyingnumber = compsysproduct_identifyingnumberW; rec->uuid = get_compsysproduct_uuid(); - rec->vendor = compsysproduct_vendorW; if (!match_row( table, row, cond, &status )) free_row_values( table, row ); else row++;
@@ -2114,7 +2056,7 @@ static enum fill_status fill_ip4routetable( struct table *table, const struct ex heap_free( forwards ); return FILL_STATUS_FAILED; } - if (!resize_table( table, forwards->dwNumEntries, sizeof(*rec) )) + if (!resize_table( table, max(forwards->dwNumEntries, 1), sizeof(*rec) )) { heap_free( forwards ); return FILL_STATUS_FAILED; @@ -2474,12 +2416,10 @@ 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 ) { - static const WCHAR fmtW[] = {'P','r','i','n','t','e','r','%','d',0}; struct record_printer *rec; enum fill_status status = FILL_STATUS_UNFILTERED; PRINTER_INFO_2W *info; 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; @@ -2505,10 +2445,6 @@ 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; - sprintfW( id, fmtW, i ); - rec->device_id = heap_strdupW( id ); - rec->portname = heap_strdupW( info[i].pPortName ); - rec->location = heap_strdupW( info[i].pLocation ); if (!match_row( table, i, cond, &status )) { free_row_values( table, i ); @@ -2937,7 +2873,6 @@ static enum fill_status fill_os( struct table *table, const struct expr *cond ) rec->systemdirectory = get_systemdirectory(); rec->totalvirtualmemorysize = get_total_physical_memory() / 1024; rec->totalvisiblememorysize = rec->totalvirtualmemorysize; - rec->freephysicalmemory = get_available_physical_memory() / 1024; rec->version = get_osversion( &ver ); if (!match_row( table, row, cond, &status )) free_row_values( table, row ); else row++; @@ -3225,29 +3160,6 @@ static WCHAR *get_pnpdeviceid( DXGI_ADAPTER_DESC *desc ) return ret; }
-#define HW_VENDOR_AMD 0x1002 -#define HW_VENDOR_NVIDIA 0x10de -#define HW_VENDOR_VMWARE 0x15ad -#define HW_VENDOR_INTEL 0x8086 - -static const WCHAR* get_video_driver(UINT vendorid) -{ - static const WCHAR driver_amdW[] = {'a','t','i','c','f','x','3','2','.','d','l','l',0}; - static const WCHAR driver_intelW[] = {'i','g','d','u','m','d','i','m','3','2','.','d','l','l',0}; - static const WCHAR driver_nvidiaW[] = {'n','v','d','3','d','u','m','.','d','l','l',0}; - static const WCHAR driver_wineW[] = {'w','i','n','e','.','d','l','l',0}; - - /* FIXME: wined3d has a better table, but we can not access this information through dxgi */ - - if (vendorid == HW_VENDOR_AMD) - return driver_amdW; - else if (vendorid == HW_VENDOR_NVIDIA) - return driver_nvidiaW; - else if (vendorid == HW_VENDOR_INTEL) - return driver_intelW; - return driver_wineW; -} - static enum fill_status fill_videocontroller( struct table *table, const struct expr *cond ) { static const WCHAR fmtW[] = {'%','u',' ','x',' ','%','u',' ','x',' ','%','I','6','4','u',' ','c','o','l','o','r','s',0}; @@ -3282,7 +3194,6 @@ done: rec->adapter_dactype = videocontroller_dactypeW; rec->adapter_ram = vidmem; rec->availability = 3; /* Running or Full Power */ - rec->config_errorcode = 0; /* no error */ rec->caption = heap_strdupW( name ); rec->current_bitsperpixel = get_bits_per_pixel( &hres, &vres ); rec->current_horizontalres = hres; @@ -3291,12 +3202,9 @@ done: rec->current_verticalres = vres; rec->description = heap_strdupW( name ); rec->device_id = videocontroller_deviceidW; - rec->driverdate = videocontroller_driverDateW; rec->driverversion = videocontroller_driverversionW; - rec->installeddriver = get_video_driver( desc.VendorId ); rec->name = heap_strdupW( name ); rec->pnpdevice_id = get_pnpdeviceid( &desc ); - rec->status = videocontroller_statusW; rec->videoarchitecture = 2; /* Unknown */ rec->videomemorytype = 2; /* Unknown */ wsprintfW( mode, fmtW, hres, vres, (UINT64)1 << rec->current_bitsperpixel ); diff --git a/dll/win32/wbemprox/wql.tab.c b/dll/win32/wbemprox/wql.tab.c index 91b7ac46bf..4eaadd0818 100644 --- a/dll/win32/wbemprox/wql.tab.c +++ b/dll/win32/wbemprox/wql.tab.c @@ -1,4 +1,4 @@ -/* A Bison parser, made by GNU Bison 3.0.2. */ +/* A Bison parser, made by GNU Bison 3.0. */
/* Bison implementation for Yacc-like parsers in C
@@ -44,7 +44,7 @@ #define YYBISON 1
/* Bison version. */ -#define YYBISON_VERSION "3.0.2" +#define YYBISON_VERSION "3.0"
/* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -243,13 +243,13 @@ static int wql_lex( void *val, struct parser *parser ); result = current_view
-#line 259 "wql.tab.c" /* yacc.c:339 */ +#line 247 "wql.tab.c" /* yacc.c:339 */
-# ifndef YY_NULLPTR +# ifndef YY_NULL # if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULLPTR nullptr +# define YY_NULL nullptr # else -# define YY_NULLPTR 0 +# define YY_NULL 0 # endif # endif
@@ -261,7 +261,10 @@ static int wql_lex( void *val, struct parser *parser ); # define YYERROR_VERBOSE 1 #endif
- +/* In a future release of Bison, this section will be replaced + by #include "wql.tab.h". */ +#ifndef YY_WQL_E_REACTOSSYNC3_0_GCC_DLL_WIN32_WBEMPROX_WQL_TAB_H_INCLUDED +# define YY_WQL_E_REACTOSSYNC3_0_GCC_DLL_WIN32_WBEMPROX_WQL_TAB_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 @@ -312,7 +315,7 @@ extern int wql_debug; typedef union YYSTYPE YYSTYPE; union YYSTYPE { -#line 194 "wql.y" /* yacc.c:355 */ +#line 182 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:355 */
struct string str; WCHAR *string; @@ -321,7 +324,7 @@ union YYSTYPE struct expr *expr; int integer;
-#line 337 "wql.tab.c" /* yacc.c:355 */ +#line 328 "wql.tab.c" /* yacc.c:355 */ }; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 @@ -331,11 +334,11 @@ union YYSTYPE
int wql_parse (struct parser *ctx);
- +#endif /* !YY_WQL_E_REACTOSSYNC3_0_GCC_DLL_WIN32_WBEMPROX_WQL_TAB_H_INCLUDED */
/* Copy the second part of user declarations. */
-#line 351 "wql.tab.c" /* yacc.c:358 */ +#line 342 "wql.tab.c" /* yacc.c:358 */
#ifdef short # undef short @@ -392,30 +395,11 @@ typedef short int yytype_int16; # endif #endif
-#ifndef YY_ATTRIBUTE -# if (defined __GNUC__ \ - && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ - || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C -# define YY_ATTRIBUTE(Spec) __attribute__(Spec) -# else -# define YY_ATTRIBUTE(Spec) /* empty */ -# endif -#endif - -#ifndef YY_ATTRIBUTE_PURE -# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) -#endif - -#ifndef YY_ATTRIBUTE_UNUSED -# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) -#endif - -#if !defined _Noreturn \ - && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) -# if defined _MSC_VER && 1200 <= _MSC_VER -# define _Noreturn __declspec (noreturn) -# else -# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) +#ifndef __attribute__ +/* This feature is available in gcc versions 2.5 and later. */ +# if (! defined __GNUC__ || __GNUC__ < 2 \ + || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)) +# define __attribute__(Spec) /* empty */ # endif #endif
@@ -577,16 +561,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 9 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 68 +#define YYLAST 85
/* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 32 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 10 /* YYNRULES -- Number of rules. */ -#define YYNRULES 36 +#define YYNRULES 40 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 67 +#define YYNSTATES 74
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ @@ -635,10 +619,11 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 221, 221, 233, 245, 260, 261, 265, 272, 278, - 287, 296, 303, 309, 315, 321, 327, 333, 339, 345, - 351, 357, 363, 369, 375, 381, 387, 393, 399, 405, - 411, 420, 429, 438, 444, 450, 456 + 0, 209, 209, 221, 233, 248, 249, 253, 260, 266, + 275, 284, 291, 297, 303, 309, 315, 321, 327, 333, + 339, 345, 351, 357, 363, 369, 375, 381, 387, 393, + 399, 405, 411, 417, 423, 432, 441, 450, 456, 462, + 468 }; #endif
@@ -653,7 +638,7 @@ static const char *const yytname[] = "TK_ILLEGAL", "TK_BY", "TK_STRING", "TK_ID", "TK_OR", "TK_AND", "TK_NOT", "TK_EQ", "TK_NE", "TK_LT", "TK_GT", "TK_LE", "TK_GE", "TK_LIKE", "$accept", "select", "proplist", "prop", "id", "number", "expr", - "string_val", "prop_val", "const_val", YY_NULLPTR + "string_val", "prop_val", "const_val", YY_NULL }; #endif
@@ -669,10 +654,10 @@ static const yytype_uint16 yytoknum[] = }; # endif
-#define YYPACT_NINF -18 +#define YYPACT_NINF -23
#define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-18))) + (!!((Yystate) == (-23)))
#define YYTABLE_NINF -1
@@ -683,13 +668,14 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int8 yypact[] = { - 7, 3, 12, -5, -18, -18, 24, 29, 35, -18, - -18, -5, 4, -5, 21, -18, -18, 17, 17, -18, - -18, -18, -18, 17, -18, -18, 11, -8, 25, 22, - -18, 17, 17, 16, -9, -9, -9, -9, -9, -9, - 23, -5, -5, -5, -5, -5, -5, -18, 45, -18, - -18, 37, -18, -18, -18, -18, -18, -18, -18, -18, - -18, -18, -18, -18, -18, -18, -18 + -2, 10, 34, 14, -23, -23, 29, 48, 46, -23, + -23, 14, 11, 14, 42, -23, -23, 28, 28, -16, + -23, -23, -23, -23, 28, -23, -23, 22, -8, -22, + 33, 14, 14, -23, 28, 28, 27, 50, 54, 59, + 59, 59, 59, 39, 14, 14, 14, 14, 14, 14, + -23, -23, -23, 52, -23, -23, 58, -23, -23, -23, + -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, + -23, -23, -23, -23 };
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -698,24 +684,25 @@ static const yytype_int8 yypact[] = static const yytype_uint8 yydefact[] = { 0, 0, 0, 0, 7, 10, 0, 5, 9, 1, - 2, 0, 0, 0, 3, 6, 8, 0, 0, 36, - 35, 11, 34, 0, 32, 33, 4, 0, 0, 0, - 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 12, 14, 13, - 29, 0, 16, 21, 18, 17, 19, 20, 31, 28, - 22, 27, 24, 23, 25, 26, 30 + 2, 0, 0, 0, 3, 6, 8, 0, 0, 0, + 40, 39, 11, 38, 0, 36, 37, 4, 0, 0, + 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 12, 32, 34, 14, 13, 29, 0, 31, 16, 33, + 21, 18, 17, 19, 20, 35, 28, 22, 27, 24, + 23, 25, 26, 30 };
/* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { - -18, -18, 34, 1, 36, -18, -17, -18, 15, 28 + -23, -23, 64, 1, 47, -23, 12, -23, -20, 43 };
/* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { - -1, 2, 6, 24, 8, 25, 26, 59, 27, 28 + -1, 2, 6, 25, 8, 26, 27, 66, 28, 29 };
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -723,24 +710,28 @@ static const yytype_int8 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_uint8 yytable[] = { - 33, 29, 7, 19, 20, 21, 30, 3, 4, 4, - 1, 22, 9, 7, 48, 49, 5, 34, 35, 36, - 37, 38, 39, 40, 5, 5, 18, 50, 11, 19, - 20, 21, 47, 31, 32, 12, 17, 22, 5, 10, - 51, 23, 13, 58, 31, 32, 15, 14, 66, 16, - 41, 42, 43, 44, 45, 46, 60, 61, 62, 63, - 64, 65, 52, 53, 54, 55, 56, 57, 32 + 36, 1, 7, 44, 45, 46, 47, 48, 49, 31, + 32, 51, 52, 7, 3, 4, 4, 37, 38, 39, + 40, 41, 42, 43, 67, 68, 69, 70, 71, 72, + 30, 5, 5, 11, 9, 5, 33, 18, 55, 19, + 20, 21, 22, 50, 34, 35, 53, 54, 23, 5, + 10, 56, 24, 13, 12, 34, 35, 17, 14, 65, + 16, 57, 20, 21, 22, 59, 20, 21, 22, 73, + 23, 20, 21, 22, 23, 35, 15, 0, 0, 23, + 58, 60, 61, 62, 63, 64 };
-static const yytype_uint8 yycheck[] = +static const yytype_int8 yycheck[] = { - 8, 18, 1, 12, 13, 14, 23, 4, 5, 5, - 3, 20, 0, 12, 31, 32, 21, 25, 26, 27, - 28, 29, 30, 31, 21, 21, 9, 11, 4, 12, - 13, 14, 10, 22, 23, 6, 15, 20, 21, 3, - 24, 24, 7, 20, 22, 23, 12, 11, 11, 13, - 25, 26, 27, 28, 29, 30, 41, 42, 43, 44, - 45, 46, 34, 35, 36, 37, 38, 39, 23 + 8, 3, 1, 25, 26, 27, 28, 29, 30, 25, + 26, 31, 32, 12, 4, 5, 5, 25, 26, 27, + 28, 29, 30, 31, 44, 45, 46, 47, 48, 49, + 18, 21, 21, 4, 0, 21, 24, 9, 11, 11, + 12, 13, 14, 10, 22, 23, 34, 35, 20, 21, + 3, 24, 24, 7, 6, 22, 23, 15, 11, 20, + 13, 11, 12, 13, 14, 11, 12, 13, 14, 11, + 20, 12, 13, 14, 20, 23, 12, -1, -1, 20, + 37, 38, 39, 40, 41, 42 };
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -748,12 +739,13 @@ static const yytype_uint8 yycheck[] = static const yytype_uint8 yystos[] = { 0, 3, 33, 4, 5, 21, 34, 35, 36, 0, - 36, 4, 6, 7, 36, 34, 36, 15, 9, 12, - 13, 14, 20, 24, 35, 37, 38, 40, 41, 38, - 38, 22, 23, 8, 25, 26, 27, 28, 29, 30, - 31, 25, 26, 27, 28, 29, 30, 10, 38, 38, - 11, 24, 41, 41, 41, 41, 41, 41, 20, 39, - 40, 40, 40, 40, 40, 40, 11 + 36, 4, 6, 7, 36, 34, 36, 15, 9, 11, + 12, 13, 14, 20, 24, 35, 37, 38, 40, 41, + 38, 25, 26, 38, 22, 23, 8, 25, 26, 27, + 28, 29, 30, 31, 25, 26, 27, 28, 29, 30, + 10, 40, 40, 38, 38, 11, 24, 11, 41, 11, + 41, 41, 41, 41, 41, 20, 39, 40, 40, 40, + 40, 40, 40, 11 };
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ @@ -762,7 +754,8 @@ static const yytype_uint8 yyr1[] = 0, 32, 33, 33, 33, 34, 34, 34, 35, 35, 36, 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 38, 39, 40, 41, 41, 41, 41 + 38, 38, 38, 38, 38, 39, 40, 41, 41, 41, + 41 };
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -771,7 +764,8 @@ static const yytype_uint8 yyr2[] = 0, 2, 3, 4, 6, 1, 3, 1, 3, 1, 1, 1, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 4, 1, 1, 1, 1, 1, 1 + 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, + 1 };
@@ -1056,11 +1050,11 @@ static int yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken) { - YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); + YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); YYSIZE_T yysize = yysize0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ - const char *yyformat = YY_NULLPTR; + const char *yyformat = YY_NULL; /* Arguments of yyformat. */ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; /* Number of reported tokens (one for the "unexpected", one per @@ -1117,7 +1111,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, } yyarg[yycount++] = yytname[yyx]; { - YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); + YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; @@ -1454,7 +1448,7 @@ yyreduce: switch (yyn) { case 2: -#line 222 "wql.y" /* yacc.c:1646 */ +#line 210 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { HRESULT hr; struct parser *parser = ctx; @@ -1466,11 +1460,11 @@ yyreduce:
PARSER_BUBBLE_UP_VIEW( parser, (yyval.view), view ); } -#line 1482 "wql.tab.c" /* yacc.c:1646 */ +#line 1464 "wql.tab.c" /* yacc.c:1646 */ break;
case 3: -#line 234 "wql.y" /* yacc.c:1646 */ +#line 222 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { HRESULT hr; struct parser *parser = ctx; @@ -1482,11 +1476,11 @@ yyreduce:
PARSER_BUBBLE_UP_VIEW( parser, (yyval.view), view ); } -#line 1498 "wql.tab.c" /* yacc.c:1646 */ +#line 1480 "wql.tab.c" /* yacc.c:1646 */ break;
case 4: -#line 246 "wql.y" /* yacc.c:1646 */ +#line 234 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { HRESULT hr; struct parser *parser = ctx; @@ -1498,315 +1492,355 @@ yyreduce:
PARSER_BUBBLE_UP_VIEW( parser, (yyval.view), view ); } -#line 1514 "wql.tab.c" /* yacc.c:1646 */ +#line 1496 "wql.tab.c" /* yacc.c:1646 */ break;
case 6: -#line 262 "wql.y" /* yacc.c:1646 */ +#line 250 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyvsp[-2].proplist)->next = (yyvsp[0].proplist); } -#line 1522 "wql.tab.c" /* yacc.c:1646 */ +#line 1504 "wql.tab.c" /* yacc.c:1646 */ break;
case 7: -#line 266 "wql.y" /* yacc.c:1646 */ +#line 254 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.proplist) = NULL; } -#line 1530 "wql.tab.c" /* yacc.c:1646 */ +#line 1512 "wql.tab.c" /* yacc.c:1646 */ break;
case 8: -#line 273 "wql.y" /* yacc.c:1646 */ +#line 261 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.proplist) = alloc_property( ctx, (yyvsp[-2].string), (yyvsp[0].string) ); if (!(yyval.proplist)) YYABORT; } -#line 1540 "wql.tab.c" /* yacc.c:1646 */ +#line 1522 "wql.tab.c" /* yacc.c:1646 */ break;
case 9: -#line 279 "wql.y" /* yacc.c:1646 */ +#line 267 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.proplist) = alloc_property( ctx, NULL, (yyvsp[0].string) ); if (!(yyval.proplist)) YYABORT; } -#line 1550 "wql.tab.c" /* yacc.c:1646 */ +#line 1532 "wql.tab.c" /* yacc.c:1646 */ break;
case 10: -#line 288 "wql.y" /* yacc.c:1646 */ +#line 276 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.string) = get_string( ctx, &(yyvsp[0].str) ); if (!(yyval.string)) YYABORT; } -#line 1560 "wql.tab.c" /* yacc.c:1646 */ +#line 1542 "wql.tab.c" /* yacc.c:1646 */ break;
case 11: -#line 297 "wql.y" /* yacc.c:1646 */ +#line 285 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.integer) = get_int( ctx ); } -#line 1568 "wql.tab.c" /* yacc.c:1646 */ +#line 1550 "wql.tab.c" /* yacc.c:1646 */ break;
case 12: -#line 304 "wql.y" /* yacc.c:1646 */ +#line 292 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = (yyvsp[-1].expr); if (!(yyval.expr)) YYABORT; } -#line 1578 "wql.tab.c" /* yacc.c:1646 */ +#line 1560 "wql.tab.c" /* yacc.c:1646 */ break;
case 13: -#line 310 "wql.y" /* yacc.c:1646 */ +#line 298 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_complex( ctx, (yyvsp[-2].expr), OP_AND, (yyvsp[0].expr) ); if (!(yyval.expr)) YYABORT; } -#line 1588 "wql.tab.c" /* yacc.c:1646 */ +#line 1570 "wql.tab.c" /* yacc.c:1646 */ break;
case 14: -#line 316 "wql.y" /* yacc.c:1646 */ +#line 304 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_complex( ctx, (yyvsp[-2].expr), OP_OR, (yyvsp[0].expr) ); if (!(yyval.expr)) YYABORT; } -#line 1598 "wql.tab.c" /* yacc.c:1646 */ +#line 1580 "wql.tab.c" /* yacc.c:1646 */ break;
case 15: -#line 322 "wql.y" /* yacc.c:1646 */ +#line 310 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_unary( ctx, (yyvsp[0].expr), OP_NOT ); if (!(yyval.expr)) YYABORT; } -#line 1608 "wql.tab.c" /* yacc.c:1646 */ +#line 1590 "wql.tab.c" /* yacc.c:1646 */ break;
case 16: -#line 328 "wql.y" /* yacc.c:1646 */ +#line 316 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_complex( ctx, (yyvsp[-2].expr), OP_EQ, (yyvsp[0].expr) ); if (!(yyval.expr)) YYABORT; } -#line 1618 "wql.tab.c" /* yacc.c:1646 */ +#line 1600 "wql.tab.c" /* yacc.c:1646 */ break;
case 17: -#line 334 "wql.y" /* yacc.c:1646 */ +#line 322 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_complex( ctx, (yyvsp[-2].expr), OP_GT, (yyvsp[0].expr) ); if (!(yyval.expr)) YYABORT; } -#line 1628 "wql.tab.c" /* yacc.c:1646 */ +#line 1610 "wql.tab.c" /* yacc.c:1646 */ break;
case 18: -#line 340 "wql.y" /* yacc.c:1646 */ +#line 328 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_complex( ctx, (yyvsp[-2].expr), OP_LT, (yyvsp[0].expr) ); if (!(yyval.expr)) YYABORT; } -#line 1638 "wql.tab.c" /* yacc.c:1646 */ +#line 1620 "wql.tab.c" /* yacc.c:1646 */ break;
case 19: -#line 346 "wql.y" /* yacc.c:1646 */ +#line 334 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_complex( ctx, (yyvsp[-2].expr), OP_LE, (yyvsp[0].expr) ); if (!(yyval.expr)) YYABORT; } -#line 1648 "wql.tab.c" /* yacc.c:1646 */ +#line 1630 "wql.tab.c" /* yacc.c:1646 */ break;
case 20: -#line 352 "wql.y" /* yacc.c:1646 */ +#line 340 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_complex( ctx, (yyvsp[-2].expr), OP_GE, (yyvsp[0].expr) ); if (!(yyval.expr)) YYABORT; } -#line 1658 "wql.tab.c" /* yacc.c:1646 */ +#line 1640 "wql.tab.c" /* yacc.c:1646 */ break;
case 21: -#line 358 "wql.y" /* yacc.c:1646 */ +#line 346 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_complex( ctx, (yyvsp[-2].expr), OP_NE, (yyvsp[0].expr) ); if (!(yyval.expr)) YYABORT; } -#line 1668 "wql.tab.c" /* yacc.c:1646 */ +#line 1650 "wql.tab.c" /* yacc.c:1646 */ break;
case 22: -#line 364 "wql.y" /* yacc.c:1646 */ +#line 352 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_complex( ctx, (yyvsp[-2].expr), OP_EQ, (yyvsp[0].expr) ); if (!(yyval.expr)) YYABORT; } -#line 1678 "wql.tab.c" /* yacc.c:1646 */ +#line 1660 "wql.tab.c" /* yacc.c:1646 */ break;
case 23: -#line 370 "wql.y" /* yacc.c:1646 */ +#line 358 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_complex( ctx, (yyvsp[-2].expr), OP_GT, (yyvsp[0].expr) ); if (!(yyval.expr)) YYABORT; } -#line 1688 "wql.tab.c" /* yacc.c:1646 */ +#line 1670 "wql.tab.c" /* yacc.c:1646 */ break;
case 24: -#line 376 "wql.y" /* yacc.c:1646 */ +#line 364 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_complex( ctx, (yyvsp[-2].expr), OP_LT, (yyvsp[0].expr) ); if (!(yyval.expr)) YYABORT; } -#line 1698 "wql.tab.c" /* yacc.c:1646 */ +#line 1680 "wql.tab.c" /* yacc.c:1646 */ break;
case 25: -#line 382 "wql.y" /* yacc.c:1646 */ +#line 370 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_complex( ctx, (yyvsp[-2].expr), OP_LE, (yyvsp[0].expr) ); if (!(yyval.expr)) YYABORT; } -#line 1708 "wql.tab.c" /* yacc.c:1646 */ +#line 1690 "wql.tab.c" /* yacc.c:1646 */ break;
case 26: -#line 388 "wql.y" /* yacc.c:1646 */ +#line 376 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_complex( ctx, (yyvsp[-2].expr), OP_GE, (yyvsp[0].expr) ); if (!(yyval.expr)) YYABORT; } -#line 1718 "wql.tab.c" /* yacc.c:1646 */ +#line 1700 "wql.tab.c" /* yacc.c:1646 */ break;
case 27: -#line 394 "wql.y" /* yacc.c:1646 */ +#line 382 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_complex( ctx, (yyvsp[-2].expr), OP_NE, (yyvsp[0].expr) ); if (!(yyval.expr)) YYABORT; } -#line 1728 "wql.tab.c" /* yacc.c:1646 */ +#line 1710 "wql.tab.c" /* yacc.c:1646 */ break;
case 28: -#line 400 "wql.y" /* yacc.c:1646 */ +#line 388 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_complex( ctx, (yyvsp[-2].expr), OP_LIKE, (yyvsp[0].expr) ); if (!(yyval.expr)) YYABORT; } -#line 1738 "wql.tab.c" /* yacc.c:1646 */ +#line 1720 "wql.tab.c" /* yacc.c:1646 */ break;
case 29: -#line 406 "wql.y" /* yacc.c:1646 */ +#line 394 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_unary( ctx, (yyvsp[-2].expr), OP_ISNULL ); if (!(yyval.expr)) YYABORT; } -#line 1748 "wql.tab.c" /* yacc.c:1646 */ +#line 1730 "wql.tab.c" /* yacc.c:1646 */ break;
case 30: -#line 412 "wql.y" /* yacc.c:1646 */ +#line 400 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_unary( ctx, (yyvsp[-3].expr), OP_NOTNULL ); if (!(yyval.expr)) YYABORT; } -#line 1758 "wql.tab.c" /* yacc.c:1646 */ +#line 1740 "wql.tab.c" /* yacc.c:1646 */ break;
case 31: -#line 421 "wql.y" /* yacc.c:1646 */ +#line 406 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { - (yyval.expr) = expr_sval( ctx, &(yyvsp[0].str) ); + (yyval.expr) = expr_unary( ctx, (yyvsp[-2].expr), OP_ISNULL ); if (!(yyval.expr)) YYABORT; } -#line 1768 "wql.tab.c" /* yacc.c:1646 */ +#line 1750 "wql.tab.c" /* yacc.c:1646 */ break;
case 32: -#line 430 "wql.y" /* yacc.c:1646 */ +#line 412 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { - (yyval.expr) = expr_propval( ctx, (yyvsp[0].proplist) ); + (yyval.expr) = expr_unary( ctx, (yyvsp[0].expr), OP_ISNULL ); if (!(yyval.expr)) YYABORT; } -#line 1778 "wql.tab.c" /* yacc.c:1646 */ +#line 1760 "wql.tab.c" /* yacc.c:1646 */ break;
case 33: -#line 439 "wql.y" /* yacc.c:1646 */ +#line 418 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { - (yyval.expr) = expr_ival( ctx, (yyvsp[0].integer) ); + (yyval.expr) = expr_unary( ctx, (yyvsp[-2].expr), OP_NOTNULL ); if (!(yyval.expr)) YYABORT; } -#line 1788 "wql.tab.c" /* yacc.c:1646 */ +#line 1770 "wql.tab.c" /* yacc.c:1646 */ break;
case 34: -#line 445 "wql.y" /* yacc.c:1646 */ +#line 424 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { - (yyval.expr) = expr_sval( ctx, &(yyvsp[0].str) ); + (yyval.expr) = expr_unary( ctx, (yyvsp[0].expr), OP_NOTNULL ); if (!(yyval.expr)) YYABORT; } -#line 1798 "wql.tab.c" /* yacc.c:1646 */ +#line 1780 "wql.tab.c" /* yacc.c:1646 */ break;
case 35: -#line 451 "wql.y" /* yacc.c:1646 */ +#line 433 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { - (yyval.expr) = expr_bval( ctx, -1 ); + (yyval.expr) = expr_sval( ctx, &(yyvsp[0].str) ); if (!(yyval.expr)) YYABORT; } -#line 1808 "wql.tab.c" /* yacc.c:1646 */ +#line 1790 "wql.tab.c" /* yacc.c:1646 */ break;
case 36: -#line 457 "wql.y" /* yacc.c:1646 */ +#line 442 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ + { + (yyval.expr) = expr_propval( ctx, (yyvsp[0].proplist) ); + if (!(yyval.expr)) + YYABORT; + } +#line 1800 "wql.tab.c" /* yacc.c:1646 */ + break; + + case 37: +#line 451 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ + { + (yyval.expr) = expr_ival( ctx, (yyvsp[0].integer) ); + if (!(yyval.expr)) + YYABORT; + } +#line 1810 "wql.tab.c" /* yacc.c:1646 */ + break; + + case 38: +#line 457 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ + { + (yyval.expr) = expr_sval( ctx, &(yyvsp[0].str) ); + if (!(yyval.expr)) + YYABORT; + } +#line 1820 "wql.tab.c" /* yacc.c:1646 */ + break; + + case 39: +#line 463 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ + { + (yyval.expr) = expr_bval( ctx, -1 ); + if (!(yyval.expr)) + YYABORT; + } +#line 1830 "wql.tab.c" /* yacc.c:1646 */ + break; + + case 40: +#line 469 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1646 */ { (yyval.expr) = expr_bval( ctx, 0 ); if (!(yyval.expr)) YYABORT; } -#line 1818 "wql.tab.c" /* yacc.c:1646 */ +#line 1840 "wql.tab.c" /* yacc.c:1646 */ break;
-#line 1822 "wql.tab.c" /* yacc.c:1646 */ +#line 1844 "wql.tab.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -2034,7 +2068,7 @@ yyreturn: #endif return yyresult; } -#line 464 "wql.y" /* yacc.c:1906 */ +#line 476 "e:/reactosSync3.0/dll/win32/wbemprox/wql.y" /* yacc.c:1906 */
HRESULT parse_query( const WCHAR *str, struct view **view, struct list *mem ) diff --git a/dll/win32/wbemprox/wql.y b/dll/win32/wbemprox/wql.y index 98b0378677..beba2de08a 100644 --- a/dll/win32/wbemprox/wql.y +++ b/dll/win32/wbemprox/wql.y @@ -18,20 +18,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#include "config.h" -#include <stdarg.h> - -#include "windef.h" -#include "winbase.h" -#include "wbemcli.h" #include "wbemprox_private.h"
-#include "wine/list.h" -#include "wine/debug.h" -#include "wine/unicode.h" - -WINE_DEFAULT_DEBUG_CHANNEL(wbemprox); - struct parser { const WCHAR *cmd; @@ -414,6 +402,30 @@ expr: if (!$$) YYABORT; } + | prop_val TK_EQ TK_NULL + { + $$ = expr_unary( ctx, $1, OP_ISNULL ); + if (!$$) + YYABORT; + } + | TK_NULL TK_EQ prop_val + { + $$ = expr_unary( ctx, $3, OP_ISNULL ); + if (!$$) + YYABORT; + } + | prop_val TK_NE TK_NULL + { + $$ = expr_unary( ctx, $1, OP_NOTNULL ); + if (!$$) + YYABORT; + } + | TK_NULL TK_NE prop_val + { + $$ = expr_unary( ctx, $3, OP_NOTNULL ); + if (!$$) + YYABORT; + } ;
string_val: diff --git a/media/doc/README.WINE b/media/doc/README.WINE index 84c078affb..b94e76dc58 100644 --- a/media/doc/README.WINE +++ b/media/doc/README.WINE @@ -195,7 +195,7 @@ reactos/dll/win32/vbscript # Synced to Wine-3.0 reactos/dll/win32/version # Synced to Wine-3.0 reactos/dll/win32/vssapi # Synced to WineStaging-2.9 reactos/dll/win32/wbemdisp # Synced to Wine-3.0 -reactos/dll/win32/wbemprox # Synced to WineStaging-2.16 +reactos/dll/win32/wbemprox # Synced to Wine-3.0 reactos/dll/win32/windowscodecs # Synced to WineStaging-2.16 reactos/dll/win32/windowscodecsext # Synced to WineStaging-2.9 reactos/dll/win32/winemp3.acm # Synced to WineStaging-2.16