]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Add ability to skip setting of file vars in UCL
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 19 Feb 2017 15:54:25 +0000 (15:54 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 19 Feb 2017 15:54:25 +0000 (15:54 +0000)
contrib/libucl/ucl.h
contrib/libucl/ucl_parser.c

index ee683b163afce1c8cf57372210c1a7616e48ed94..ee03334e01d4d6a1e35edda53b6541b8041b93dc 100644 (file)
@@ -154,7 +154,8 @@ typedef enum ucl_parser_flags {
        UCL_PARSER_NO_TIME = (1 << 2), /**< Do not parse time and treat time values as strings */
        UCL_PARSER_NO_IMPLICIT_ARRAYS = (1 << 3), /** Create explicit arrays instead of implicit ones */
        UCL_PARSER_SAVE_COMMENTS = (1 << 4), /** Save comments in the parser context */
-       UCL_PARSER_DISABLE_MACRO = (1 << 5) /** Treat macros as comments */
+       UCL_PARSER_DISABLE_MACRO = (1 << 5), /** Treat macros as comments */
+       UCL_PARSER_NO_FILEVARS = (1 << 6) /** Do not set file vars */
 } ucl_parser_flags_t;
 
 /**
index 82c4ca24b2e64a8fcbcfd5ec8ab996e36e1c7aaa..d6b8eb656d6a9d2c73b7aab489165c574cb9d311 100644 (file)
@@ -2461,8 +2461,10 @@ ucl_parser_new (int flags)
                parser->comments = ucl_object_typed_new (UCL_OBJECT);
        }
 
-       /* Initial assumption about filevars */
-       ucl_parser_set_filevars (parser, NULL, false);
+       if (!(flags & UCL_PARSER_NO_FILEVARS)) {
+               /* Initial assumption about filevars */
+               ucl_parser_set_filevars (parser, NULL, false);
+       }
 
        return parser;
 }