Переглянути джерело

cppparser: Fix regression parsing `defined MACRO` without parens

rdb 1 рік тому
батько
коміт
50538203ce
1 змінених файлів з 1 додано та 1 видалено
  1. 1 1
      dtool/src/cppparser/cppPreprocessor.cxx

+ 1 - 1
dtool/src/cppparser/cppPreprocessor.cxx

@@ -2472,6 +2472,7 @@ expand_defined_function(string &expr, size_t q, size_t &p) const {
   while (p < expr.size() && (isalnum(expr[p]) || expr[p] == '_')) {
   while (p < expr.size() && (isalnum(expr[p]) || expr[p] == '_')) {
     p++;
     p++;
   }
   }
+  string name = expr.substr(r, p - r);
 
 
   if (has_paren) {
   if (has_paren) {
     if (expr[p] == ')') {
     if (expr[p] == ')') {
@@ -2481,7 +2482,6 @@ expand_defined_function(string &expr, size_t q, size_t &p) const {
     }
     }
   }
   }
 
 
-  string name = expr.substr(r, p - r - 1);
   char result = is_manifest_defined(name) ? '1' : '0';
   char result = is_manifest_defined(name) ? '1' : '0';
   expr = expr.substr(0, q) + result + expr.substr(p);
   expr = expr.substr(0, q) + result + expr.substr(p);
   p = q + 1;
   p = q + 1;