From 6abf1d7c1a735cbec3b42cb569683d00b070f46c Mon Sep 17 00:00:00 2001
From: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
Date: Sun, 29 Jan 2017 21:53:23 -0800
Subject: XPath: Minor error handling refactoring

Handle node type error before creating expression node
---
 src/pugixml.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

(limited to 'src')

diff --git a/src/pugixml.cpp b/src/pugixml.cpp
index ed878de..f52d236 100644
--- a/src/pugixml.cpp
+++ b/src/pugixml.cpp
@@ -11333,12 +11333,12 @@ PUGI__NS_BEGIN
 			{
 				_lexer.next();
 
-				xpath_ast_node* expr = parse_expression();
-				if (!expr) return 0;
-
 				if (n->rettype() != xpath_type_node_set)
 					return error("Predicate has to be applied to node set");
 
+				xpath_ast_node* expr = parse_expression();
+				if (!expr) return 0;
+
 				n = alloc_node(ast_filter, n, expr, predicate_default);
 				if (!n) return 0;
 
-- 
cgit v1.2.3