]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
its: Refactor.
authorBruno Haible <bruno@clisp.org>
Tue, 1 Oct 2024 10:49:01 +0000 (12:49 +0200)
committerBruno Haible <bruno@clisp.org>
Tue, 1 Oct 2024 10:49:01 +0000 (12:49 +0200)
* gettext-tools/src/its.c (its_rule_list_extract_text): Simplify code
duplication.
(its_merge_context_merge_node): Update accordingly.

gettext-tools/src/its.c

index 4c2dd95fde85602852b20ca88a7ebd547c46259d..4ac5283d935a0a669458dee48c50a12057580567 100644 (file)
@@ -1771,19 +1771,19 @@ its_rule_list_extract_text (its_rule_list_ty *rules,
       struct its_value_list_ty *values;
       const char *value;
       char *msgid = NULL, *msgctxt = NULL, *comment = NULL;
-      enum its_whitespace_type_ty whitespace;
       bool no_escape;
+      enum its_whitespace_type_ty whitespace;
       
       values = its_rule_list_eval (rules, node);
 
+      value = its_value_list_get_value (values, "escape");
+      no_escape = value != NULL && strcmp (value, "no") == 0;
+
       value = its_value_list_get_value (values, "locNote");
       if (value)
         comment = xstrdup (value);
       else
         {
-          value = its_value_list_get_value (values, "escape");
-          no_escape = value != NULL && strcmp (value, "no") == 0;
-
           value = its_value_list_get_value (values, "locNotePointer");
           if (value)
             comment = _its_get_content (rules, node, value, ITS_WHITESPACE_TRIM,
@@ -1838,9 +1838,6 @@ its_rule_list_extract_text (its_rule_list_ty *rules,
       else
         whitespace = ITS_WHITESPACE_NORMALIZE;
 
-      value = its_value_list_get_value (values, "escape");
-      no_escape = value != NULL && strcmp (value, "no") == 0;
-
       value = its_value_list_get_value (values, "contextPointer");
       if (value)
         msgctxt = _its_get_content (rules, node, value, ITS_WHITESPACE_PRESERVE,
@@ -1953,11 +1950,14 @@ its_merge_context_merge_node (struct its_merge_context_ty *context,
       struct its_value_list_ty *values;
       const char *value;
       char *msgid = NULL, *msgctxt = NULL;
-      enum its_whitespace_type_ty whitespace;
       bool no_escape;
+      enum its_whitespace_type_ty whitespace;
 
       values = its_rule_list_eval (context->rules, node);
 
+      value = its_value_list_get_value (values, "escape");
+      no_escape = value != NULL && strcmp (value, "no") == 0;
+
       value = its_value_list_get_value (values, "space");
       if (value && strcmp (value, "preserve") == 0)
         whitespace = ITS_WHITESPACE_PRESERVE;
@@ -1968,9 +1968,6 @@ its_merge_context_merge_node (struct its_merge_context_ty *context,
       else
         whitespace = ITS_WHITESPACE_NORMALIZE;
 
-      value = its_value_list_get_value (values, "escape");
-      no_escape = value != NULL && strcmp (value, "no") == 0;
-
       value = its_value_list_get_value (values, "contextPointer");
       if (value)
         msgctxt = _its_get_content (context->rules, node, value,