--- parser3/src/include/pa_request.h 2025/05/25 20:55:23 1.269 +++ parser3/src/include/pa_request.h 2026/04/24 13:45:12 1.271 @@ -8,7 +8,7 @@ #ifndef PA_REQUEST_H #define PA_REQUEST_H -#define IDENT_PA_REQUEST_H "$Id: pa_request.h,v 1.269 2025/05/25 20:55:23 moko Exp $" +#define IDENT_PA_REQUEST_H "$Id: pa_request.h,v 1.271 2026/04/24 13:45:12 moko Exp $" #include "pa_pool.h" #include "pa_hash.h" @@ -140,7 +140,7 @@ private: ///@{ core data /// classes - HashString fclasses; + OrderedHashString fclasses; /// already used files to avoid cyclic uses HashString used_files; @@ -208,7 +208,7 @@ public: ~Request(); /// global classes - HashString& classes() { return fclasses; } + OrderedHashString& classes() { return fclasses; } VStateless_class* get_class(const String& name); VStateless_class& get_class_ref(const String& name); void put_class(VStateless_class *aclass){ classes().put(aclass->type(), aclass); } @@ -253,7 +253,7 @@ public: /// execute ops with anti-recursion check void recursion_checked_execute(ArrayOperation& ops) { - if(++anti_endless_execute_recursion==pa_execute_recursion_limit) { + if(++anti_endless_execute_recursion>=pa_execute_recursion_limit) { anti_endless_execute_recursion=0; // give @exception a chance throw Exception(PARSER_RUNTIME, 0, "call canceled - endless recursion detected"); }