]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
rearrange for syntax change
authorAlan T. DeKok <aland@freeradius.org>
Sun, 29 Jun 2025 10:38:55 +0000 (06:38 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 30 Jun 2025 16:09:59 +0000 (12:09 -0400)
src/lib/server/cf_file.c

index 4c50ea286d7d37c932c716a4c8f532468a0d13f3..98e1e4b703ebb3acde158b484c4c5fbd7582ab7a 100644 (file)
@@ -2029,6 +2029,7 @@ static CONF_ITEM *process_switch(cf_stack_t *stack)
 {
        size_t          match_len;
        fr_type_t       type = FR_TYPE_NULL;
+       fr_token_t      name2_quote = T_BARE_WORD;
        CONF_SECTION    *css;
        char const      *ptr = stack->ptr;
        cf_stack_frame_t *frame = &stack->frame[stack->depth];
@@ -2067,6 +2068,14 @@ static CONF_ITEM *process_switch(cf_stack_t *stack)
                fr_skip_whitespace(ptr);
        }
 
+       /*
+        *      Get the argument to the switch statement
+        */
+       if (cf_get_token(parent, &ptr, &name2_quote, stack->buff[1], stack->bufsize,
+                        frame->filename, frame->lineno) < 0) {
+               return NULL;
+       }
+
        css = cf_section_alloc(parent, parent, "switch", NULL);
        if (!css) {
                ERROR("%s[%d]: Failed allocating memory for section",
@@ -2076,18 +2085,10 @@ static CONF_ITEM *process_switch(cf_stack_t *stack)
 
        cf_filename_set(css, frame->filename);
        cf_lineno_set(css, frame->lineno);
-       css->name2_quote = T_BARE_WORD;
+       css->name2_quote = name2_quote;
        css->unlang = CF_UNLANG_ALLOW;
        css->allow_locals = true;
 
-       /*
-        *      Get the argument to the switch statement
-        */
-       if (cf_get_token(parent, &ptr, &css->name2_quote, stack->buff[1], stack->bufsize,
-                        frame->filename, frame->lineno) < 0) {
-               return NULL;
-       }
-
        fr_skip_whitespace(ptr);
 
        if (*ptr != '{') {