]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
Use memeq.
authorBruno Haible <bruno@clisp.org>
Thu, 7 May 2026 18:38:34 +0000 (20:38 +0200)
committerBruno Haible <bruno@clisp.org>
Thu, 7 May 2026 20:15:35 +0000 (22:15 +0200)
* autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC, GNULIB_MODULES_LIBGETTEXTPO): Add
memeq.
* gettext-tools/src/locating-rules.c: Include <string.h>.
(locating_rule_match, locating_rule_list_add_from_directory): Use memeq instead
of memcmp.
* gettext-tools/src/msgfmt.c (add_mo_suffix): Likewise.
* gettext-tools/src/msggrep.c (is_message_selected_no_invert): Likewise.
* gettext-tools/src/msginit.c (find_pot): Likewise.
* gettext-tools/src/msgl-cat.c (catenate_msgdomain_list): Likewise.
* gettext-tools/src/msgl-equal.c (msgstr_equal, msgstr_equal_ignoring_potcdate):
Likewise.
* gettext-tools/src/msgl-iconv.c (iconv_message_list_internal): Likewise.
* gettext-tools/src/msgl-merge.c (message_merge): Likewise.
* gettext-tools/src/read-catalog.c (default_add_message): Likewise.
* gettext-tools/src/read-catalog-special.c (parse_comment_special): Likewise.
* gettext-tools/src/read-po-lex.c (po_lex_charset_set, mb_equal): Likewise.
* gettext-tools/src/read-stringtable.c (comment_line_end): Likewise.
* gettext-tools/src/spit.c (my_header_callback): Likewise.
* gettext-tools/src/str-list.c (string_list_append_unique_desc,
string_list_member_desc): Likewise.
* gettext-tools/src/write-mo.c (write_table): Likewise.
* gettext-tools/src/write-po.c (wrap): Likewise.
* gettext-tools/src/x-go.c (x_go_keyword): Likewise.
* gettext-tools/src/x-sh.c (read_command): Likewise.
* gettext-tools/src/xg-check.c (string_has_ascii_ellipsis): Likewise.
* gettext-tools/src/xg-mixed-string.c (mixed_string_buffer_equals,
mixed_string_buffer_startswith): Likewise.
* gettext-tools/src/xgettext.c (main, xgettext_record_flag): Likewise.

22 files changed:
autogen.sh
gettext-tools/src/locating-rules.c
gettext-tools/src/msgfmt.c
gettext-tools/src/msggrep.c
gettext-tools/src/msginit.c
gettext-tools/src/msgl-cat.c
gettext-tools/src/msgl-equal.c
gettext-tools/src/msgl-iconv.c
gettext-tools/src/msgl-merge.c
gettext-tools/src/read-catalog-special.c
gettext-tools/src/read-catalog.c
gettext-tools/src/read-po-lex.c
gettext-tools/src/read-stringtable.c
gettext-tools/src/spit.c
gettext-tools/src/str-list.c
gettext-tools/src/write-mo.c
gettext-tools/src/write-po.c
gettext-tools/src/x-go.c
gettext-tools/src/x-sh.c
gettext-tools/src/xg-check.c
gettext-tools/src/xg-mixed-string.c
gettext-tools/src/xgettext.c

index ce3b220b14d832cdf448a80849e9b0ba6258560e..0199f7f0c4c1284932b50375b7c1ca2ccc1c86d3 100755 (executable)
@@ -236,6 +236,7 @@ if ! $skip_gnulib; then
     lock
     mem-hash-map
     memchr
+    memeq
     memmove
     memset
     minmax
@@ -514,6 +515,7 @@ if ! $skip_gnulib; then
     libunistring-optional
     markup
     mem-hash-map
+    memeq
     minmax
     once
     open
index e5291f4b6fe4ace46ff4733114018037880e7db7..730fadd1525484e64d9f049ed1fb2e9a311b1dbd 100644 (file)
@@ -24,6 +24,7 @@
 #include <dirent.h>
 #include <errno.h>
 #include <fnmatch.h>
+#include <string.h>
 
 #include <libxml/parser.h>
 #include <libxml/uri.h>
@@ -154,7 +155,7 @@ locating_rule_match (struct locating_rule_ty *rule,
       char *reduced = xstrdup (base);
       /* Remove a trailing ".in" - it's a generic suffix.  */
       while (strlen (reduced) >= 3
-             && memcmp (reduced + strlen (reduced) - 3, ".in", 3) == 0)
+             && memeq (reduced + strlen (reduced) - 3, ".in", 3))
         reduced[strlen (reduced) - 3] = '\0';
 
       int err = fnmatch (rule->pattern, last_component (reduced), FNM_PATHNAME);
@@ -386,7 +387,7 @@ locating_rule_list_add_from_directory (struct locating_rule_list_ty *rules,
           const char *name = dp->d_name;
           size_t namlen = strlen (name);
 
-          if (namlen > 4 && memcmp (name + namlen - 4, ".loc", 4) == 0)
+          if (namlen > 4 && memeq (name + namlen - 4, ".loc", 4))
             {
               char *locator_file_name =
                 xconcatenated_filename (directory, name, NULL);
index fe6b3f31db1465cb5ee2f5cde98ffb50a4cdcad7..6ddd1c923cbb235f75f6a61e335ca1cc02e303c7 100644 (file)
@@ -1136,9 +1136,9 @@ static const char *
 add_mo_suffix (const char *fname)
 {
   size_t len = strlen (fname);
-  if (len > 3 && memcmp (fname + len - 3, ".mo", 3) == 0)
+  if (len > 3 && memeq (fname + len - 3, ".mo", 3))
     return fname;
-  if (len > 4 && memcmp (fname + len - 4, ".gmo", 4) == 0)
+  if (len > 4 && memeq (fname + len - 4, ".gmo", 4))
     return fname;
   char *result = XNMALLOC (len + 4, char);
   stpcpy (stpcpy (result, fname), ".mo");
index 88848968f5a144e1a81a15038c1f2c664c3058e3..5dc79f99c00fdd788249e29fcbfb73a6ff5e00e6 100644 (file)
@@ -721,10 +721,10 @@ is_message_selected_no_invert (const message_ty *mp)
     {
       const char *flag = sticky_flags->item[i];
       size_t flag_len = strlen (flag);
-      if (flag_len >= 7 && memcmp (flag + flag_len - 7, "-format", 7) == 0)
+      if (flag_len >= 7 && memeq (flag + flag_len - 7, "-format", 7))
         {
           flag_len -= 7;
-          bool has_no_prefix = (flag_len >= 3 && memcmp (flag, "no-", 3) == 0);
+          bool has_no_prefix = (flag_len >= 3 && memeq (flag, "no-", 3));
           if (has_no_prefix)
             {
               flag += 3;
@@ -732,7 +732,7 @@ is_message_selected_no_invert (const message_ty *mp)
             }
           for (size_t j = 0; j < NFORMATS; j++)
             if (strlen (format_language[j]) == flag_len
-                && memcmp (format_language[j], flag, flag_len) == 0)
+                && memeq (format_language[j], flag, flag_len))
               {
                 /* The value of the flag is stored in mp->is_format[j].  */
                 if (mp->is_format[j] == (has_no_prefix ? no : yes))
index 228d1d024d2fd55109f08531851c58926c82dbe5..f2ff85c376932f557ae48a9dbec36ed90a922343 100644 (file)
@@ -487,7 +487,7 @@ find_pot ()
               const char *name = dp->d_name;
               size_t namlen = strlen (name);
 
-              if (namlen > 4 && memcmp (name + namlen - 4, ".pot", 4) == 0)
+              if (namlen > 4 && memeq (name + namlen - 4, ".pot", 4))
                 {
                   if (found == NULL)
                     found = xstrdup (name);
index 2b446361c2892d5259a03c2d5a8e14023bfea0e5..afd76b75d87d3c1b1e4c6f198a50d5849062b616 100644 (file)
@@ -162,8 +162,8 @@ catenate_msgdomain_list (string_list_ty *file_list,
 
                                 if (strcmp (charset, "CHARSET") == 0
                                     && ((filenamelen >= 4
-                                         && memcmp (filename + filenamelen - 4,
-                                                    ".pot", 4) == 0)
+                                         && memeq (filename + filenamelen - 4,
+                                                   ".pot", 4))
                                         || is_ascii_message_list (mlp)))
                                   canon_charset = po_charset_ascii;
                                 else
@@ -681,8 +681,8 @@ UTF-8 encoded from the beginning, i.e. already in your source code files.\n"),
               bool all_equal = true;
               for (size_t i = 0; i < tmp->alternative_count; i++)
                 if (!(tmp->alternative[i].msgstr_len == first->msgstr_len
-                      && memcmp (tmp->alternative[i].msgstr, first->msgstr,
-                                 first->msgstr_len) == 0))
+                      && memeq (tmp->alternative[i].msgstr, first->msgstr,
+                                first->msgstr_len)))
                   {
                     all_equal = false;
                     break;
index 480b8a52c489c9891acfb348fa3598b962afed76..b729b707a6d349fe7352e8c7a5a8ccadedf653c3 100644 (file)
@@ -31,7 +31,7 @@ msgstr_equal (const char *msgstr1, size_t msgstr1_len,
               const char *msgstr2, size_t msgstr2_len)
 {
   return (msgstr1_len == msgstr2_len
-          && memcmp (msgstr1, msgstr2, msgstr1_len) == 0);
+          && memeq (msgstr1, msgstr2, msgstr1_len));
 }
 
 static bool
@@ -52,7 +52,7 @@ msgstr_equal_ignoring_potcdate (const char *msgstr1, size_t msgstr1_len,
           ptr1 = NULL;
           break;
         }
-      if (memcmp (ptr1, field, fieldlen) == 0)
+      if (memeq (ptr1, field, fieldlen))
         break;
       ptr1 = (const char *) memchr (ptr1, '\n', msgstr1_end - ptr1);
       if (ptr1 == NULL)
@@ -69,7 +69,7 @@ msgstr_equal_ignoring_potcdate (const char *msgstr1, size_t msgstr1_len,
           ptr2 = NULL;
           break;
         }
-      if (memcmp (ptr2, field, fieldlen) == 0)
+      if (memeq (ptr2, field, fieldlen))
         break;
       ptr2 = (const char *) memchr (ptr2, '\n', msgstr2_end - ptr2);
       if (ptr2 == NULL)
index 603316e40871c50f8d2aaa7a3936b40428fd99b8..5e583f1eb64bb3bf40dc8aa265f2b659d41ac4b7 100644 (file)
@@ -271,8 +271,7 @@ iconv_message_list_internal (message_list_ty *mlp,
                         if (strcmp (charset, "CHARSET") == 0
                             && ((filename != NULL
                                  && (filenamelen = strlen (filename)) >= 4
-                                 && memcmp (filename + filenamelen - 4, ".pot", 4)
-                                    == 0)
+                                 && memeq (filename + filenamelen - 4, ".pot", 4))
                                 || is_ascii_message_list (mlp)))
                           canon_charset = po_charset_ascii;
                         else
index 16dc57852bae3793e5e2031e5b58aefced9cbd35..d2261775d7e041c2461963e040bff2e92fb69585 100644 (file)
@@ -498,8 +498,8 @@ message_merge (message_ty *def, message_ty *ref, bool force_fuzzy,
               for (size_t i = 0; i < language_variant_table_size; i++)
                 if (strlen (language_variant_table[i].english)
                     == language_team_len
-                    && memcmp (language_variant_table[i].english,
-                               language_team_ptr, language_team_len) == 0)
+                    && memeq (language_variant_table[i].english,
+                              language_team_ptr, language_team_len))
                   {
                     header_fields[LANGUAGE].string =
                       language_variant_table[i].code;
@@ -508,8 +508,8 @@ message_merge (message_ty *def, message_ty *ref, bool force_fuzzy,
               if (header_fields[LANGUAGE].string == NULL)
                 for (size_t i = 0; i < language_table_size; i++)
                   if (strlen (language_table[i].english) == language_team_len
-                      && memcmp (language_table[i].english,
-                                 language_team_ptr, language_team_len) == 0)
+                      && memeq (language_table[i].english,
+                                language_team_ptr, language_team_len))
                     {
                       header_fields[LANGUAGE].string = language_table[i].code;
                       break;
index 57c45d28c83dabd535ce0b2ef00c04b03a49a44c..d3a39e78714618a35a9f209b3d15b3c3650c3af1 100644 (file)
@@ -61,32 +61,32 @@ parse_comment_special (const char *s,
           size_t len = s - t;
 
           /* Accept fuzzy flag.  */
-          if (len == 5 && memcmp (t, "fuzzy", 5) == 0)
+          if (len == 5 && memeq (t, "fuzzy", 5))
             {
               *fuzzyp = true;
               continue;
             }
 
           /* Accept format description.  */
-          if (len >= 7 && memcmp (t + len - 7, "-format", 7) == 0)
+          if (len >= 7 && memeq (t + len - 7, "-format", 7))
             {
               const char *p = t;
               size_t n = len - 7;
 
               enum is_format value;
-              if (n >= 3 && memcmp (p, "no-", 3) == 0)
+              if (n >= 3 && memeq (p, "no-", 3))
                 {
                   p += 3;
                   n -= 3;
                   value = no;
                 }
-              else if (n >= 9 && memcmp (p, "possible-", 9) == 0)
+              else if (n >= 9 && memeq (p, "possible-", 9))
                 {
                   p += 9;
                   n -= 9;
                   value = possible;
                 }
-              else if (n >= 11 && memcmp (p, "impossible-", 11) == 0)
+              else if (n >= 11 && memeq (p, "impossible-", 11))
                 {
                   p += 11;
                   n -= 11;
@@ -98,7 +98,7 @@ parse_comment_special (const char *s,
               size_t i;
               for (i = 0; i < NFORMATS; i++)
                 if (strlen (format_language[i]) == n
-                    && memcmp (format_language[i], p, n) == 0)
+                    && memeq (format_language[i], p, n))
                   {
                     formatp[i] = value;
                     break;
@@ -108,7 +108,7 @@ parse_comment_special (const char *s,
             }
 
           /* Accept range description "range: <min>..<max>".  */
-          if (len == 6 && memcmp (t, "range:", 6) == 0)
+          if (len == 6 && memeq (t, "range:", 6))
             {
               /* Skip whitespace.  */
               while (*s != '\0' && strchr ("\n \t\r\f\v,", *s) != NULL)
@@ -163,25 +163,25 @@ parse_comment_special (const char *s,
             }
 
           /* Accept wrap description.  */
-          if (len == 4 && memcmp (t, "wrap", 4) == 0)
+          if (len == 4 && memeq (t, "wrap", 4))
             {
               *wrapp = yes;
               continue;
             }
-          if (len == 7 && memcmp (t, "no-wrap", 7) == 0)
+          if (len == 7 && memeq (t, "no-wrap", 7))
             {
               *wrapp = no;
               continue;
             }
 
           /* Accept syntax check description.  */
-          if (scp != NULL && len >= 6 && memcmp (t + len - 6, "-check", 6) == 0)
+          if (scp != NULL && len >= 6 && memeq (t + len - 6, "-check", 6))
             {
               const char *p = t;
               size_t n = len - 6;
 
               enum is_syntax_check value;
-              if (n >= 3 && memcmp (p, "no-", 3) == 0)
+              if (n >= 3 && memeq (p, "no-", 3))
                 {
                   p += 3;
                   n -= 3;
@@ -193,7 +193,7 @@ parse_comment_special (const char *s,
               size_t i;
               for (i = 0; i < NSYNTAXCHECKS; i++)
                 if (strlen (syntax_check_name[i]) == n
-                    && memcmp (syntax_check_name[i], p, n) == 0)
+                    && memeq (syntax_check_name[i], p, n))
                   {
                     scp[i] = value;
                     break;
index 277fa56bc260410f8a992f4e1a5bf7c6b2b6d5e8..3df4bf21fa1ab57ca58a374cdcd3546ac2b31719 100644 (file)
@@ -372,7 +372,7 @@ default_add_message (default_catalog_reader_ty *dcatr,
     {
       if (!(dcatr->allow_duplicates_if_same_msgstr
             && msgstr_len == mp->msgstr_len
-            && memcmp (msgstr, mp->msgstr, msgstr_len) == 0))
+            && memeq (msgstr, mp->msgstr, msgstr_len)))
         {
           /* We give a fatal error about this, regardless whether the
              translations are equal or different.  This is for consistency
index 5bad38555f202f4b2a23658c7994ce11644ad05f..326f5e6533b0f6255c3cb618cd5a397ddb514448 100644 (file)
@@ -157,7 +157,7 @@ po_lex_charset_set (struct po_parser_state *ps,
 
           if (!(strcmp (charset, "CHARSET") == 0
                 && ((filenamelen >= 4
-                     && memcmp (filename + filenamelen - 4, ".pot", 4) == 0)
+                     && memeq (filename + filenamelen - 4, ".pot", 4))
                     || is_pot_role)))
             {
               char *warning_message =
@@ -315,7 +315,7 @@ would fix this problem.\n");
       size_t filenamelen = strlen (filename);
 
       if (!(filenamelen >= 4
-            && memcmp (filename + filenamelen - 4, ".pot", 4) == 0))
+            && memeq (filename + filenamelen - 4, ".pot", 4)))
         ps->catr->xeh->xerror (CAT_SEVERITY_WARNING,
                                NULL, filename, (size_t)(-1), (size_t)(-1), true,
                                _("\
@@ -440,7 +440,7 @@ mb_equal (const mbchar_t mbc1, const mbchar_t mbc2)
   else
 #endif
     return (mbc1->bytes == mbc2->bytes
-            && memcmp (mbc1->buf, mbc2->buf, mbc1->bytes) == 0);
+            && memeq (mbc1->buf, mbc2->buf, mbc1->bytes));
 }
 
 /* <ctype.h>, <wctype.h> classification.  */
index e679c35463d55255f499dcf971a9d6f2f90281af..b2a9ff149700ce6be2db040df369881ce23a3ac9 100644 (file)
@@ -530,9 +530,9 @@ comment_line_end (abstract_catalog_reader_ty *catr,
     }
   else if (strcmp (line, "Flag: unmatched") == 0)
     next_is_obsolete = true;
-  else if (strlen (line) >= 6 && memcmp (line, "Flag: ", 6) == 0)
+  else if (strlen (line) >= 6 && memeq (line, "Flag: ", 6))
     special_comment_add (line + 6);
-  else if (strlen (line) >= 9 && memcmp (line, "Comment: ", 9) == 0)
+  else if (strlen (line) >= 9 && memeq (line, "Comment: ", 9))
     /* A comment extracted from the source.  */
     catalog_reader_seen_comment_dot (catr, line + 9);
   else
@@ -541,7 +541,7 @@ comment_line_end (abstract_catalog_reader_ty *catr,
       unsigned long number;
       char *endp;
 
-      if (strlen (line) >= 6 && memcmp (line, "File: ", 6) == 0
+      if (strlen (line) >= 6 && memeq (line, "File: ", 6)
           && (last_colon = strrchr (line + 6, ':')) != NULL
           && c_isdigit (*(last_colon + 1))
           && (number = strtoul (last_colon + 1, &endp, 10), *endp == '\0'))
index fa6aef815e432804cb7e38308b816225f7a75e50..c6ff95bdcab69fd0d3b29ee65bdcd8a6b70b8dfd 100644 (file)
@@ -180,7 +180,7 @@ my_header_callback (char *buffer, size_t one, size_t n, void *userdata)
 #if DEBUG
   fprintf (stderr, "in my_header_callback: buffer = %.*s\n", (int) n, buffer);
 #endif
-  if (n >= 5 && memcmp (buffer, "HTTP/", 5) == 0)
+  if (n >= 5 && memeq (buffer, "HTTP/", 5))
     {
       /* buffer contains a line of the form "HTTP/1.1 code description".
          Extract the code.  */
index 88fce0c66efebc748694e18e08bf6006dc785df2..278c56120f3713dd0d7f4c8dde64c6f25b8379ad 100644 (file)
@@ -119,7 +119,7 @@ string_list_append_unique_desc (string_list_ty *slp,
 {
   /* Do nothing if the string is already in the list.  */
   for (size_t j = 0; j < slp->nitems; ++j)
-    if (strlen (slp->item[j]) == s_len && memcmp (slp->item[j], s, s_len) == 0)
+    if (strlen (slp->item[j]) == s_len && memeq (slp->item[j], s, s_len))
       return;
 
   /* Grow the list.  */
@@ -281,7 +281,7 @@ bool
 string_list_member_desc (const string_list_ty *slp, const char *s, size_t s_len)
 {
   for (size_t j = 0; j < slp->nitems; ++j)
-    if (strlen (slp->item[j]) == s_len && memcmp (slp->item[j], s, s_len) == 0)
+    if (strlen (slp->item[j]) == s_len && memeq (slp->item[j], s, s_len))
       return true;
   return false;
 }
index f4ac836ba12835076930176960a0f3df752f77c8..93811e7029240b2b6d4ce52af695633575ff7071 100644 (file)
@@ -505,8 +505,7 @@ write_table (FILE *output_file, message_list_ty *mlp)
                     size_t r;
                     for (r = 0; r < n_sysdep_segments; r++)
                       if (sysdep_segments[r].length == length
-                          && memcmp (sysdep_segments[r].pointer, pointer, length)
-                             == 0)
+                          && memeq (sysdep_segments[r].pointer, pointer, length))
                         break;
                     if (r == n_sysdep_segments)
                       {
index 0a5096d53c3d861c51b6a5c7bc7c05cc1ac1ab67..cc51804831e88256f2e343eadb705211ee403c35 100644 (file)
@@ -680,7 +680,7 @@ wrap (const message_ty *mp, ostream_t stream,
   if (value[0] != '\0')
     {
       bool is_msgstr =
-        (strlen (name) >= 6 && memcmp (name, "msgstr", 6) == 0);
+        (strlen (name) >= 6 && memeq (name, "msgstr", 6));
         /* or equivalent: = (css_class == class_msgstr) */
 
       for (size_t i = 0; i < NFORMATS; i++)
index b016927cd3a0b6fc0f1fe351fab66e2cb70a1c72..582276c0a4cb376019357ac67445d65c86c4944c 100644 (file)
@@ -704,7 +704,7 @@ x_go_keyword (const char *name)
                       /* Looks like NAME is PACKAGE . TYPENAME . METHODNAME.  */
                       /* We are only interested in the gotext and snapcore packages.  */
                       if (first_dot - name == strlen (GOTEXT_PACKAGE_FULLNAME)
-                          && memcmp (name, GOTEXT_PACKAGE_FULLNAME, strlen (GOTEXT_PACKAGE_FULLNAME)) == 0)
+                          && memeq (name, GOTEXT_PACKAGE_FULLNAME, strlen (GOTEXT_PACKAGE_FULLNAME)))
                         {
                           void *found_type;
                           if (hash_find_entry (&gotext_package.defined_types,
@@ -726,7 +726,7 @@ x_go_keyword (const char *name)
                             }
                         }
                       else if (first_dot - name == strlen (SNAPCORE_PACKAGE_FULLNAME)
-                               && memcmp (name, SNAPCORE_PACKAGE_FULLNAME, strlen (SNAPCORE_PACKAGE_FULLNAME)) == 0)
+                               && memeq (name, SNAPCORE_PACKAGE_FULLNAME, strlen (SNAPCORE_PACKAGE_FULLNAME)))
                         {
                           void *found_type;
                           if (hash_find_entry (&snapcore_package.defined_types,
@@ -753,12 +753,12 @@ x_go_keyword (const char *name)
                       /* Looks like NAME is PACKAGE . FUNCNAME.  */
                       /* We are only interested in the gotext and snapcore packages.  */
                       if (first_dot - name == strlen (GOTEXT_PACKAGE_FULLNAME)
-                          && memcmp (name, GOTEXT_PACKAGE_FULLNAME, strlen (GOTEXT_PACKAGE_FULLNAME)) == 0)
+                          && memeq (name, GOTEXT_PACKAGE_FULLNAME, strlen (GOTEXT_PACKAGE_FULLNAME)))
                         insert_keyword_callshape (&gotext_keywords,
                                                   first_dot + 1, end - (first_dot + 1),
                                                   &shape);
                       else if (first_dot - name == strlen (SNAPCORE_PACKAGE_FULLNAME)
-                               && memcmp (name, SNAPCORE_PACKAGE_FULLNAME, strlen (SNAPCORE_PACKAGE_FULLNAME)) == 0)
+                               && memeq (name, SNAPCORE_PACKAGE_FULLNAME, strlen (SNAPCORE_PACKAGE_FULLNAME)))
                         insert_keyword_callshape (&snapcore_keywords,
                                                   first_dot + 1, end - (first_dot + 1),
                                                   &shape);
index 56f2f5f6312e75b0b067c633df461dc742595df6..fc8e3052f6f92f1296ea2bdcafcf39d6be7ead19 100644 (file)
@@ -1387,18 +1387,18 @@ read_command (int looking_for, flag_region_ty *outer_region)
                 {
                   bool accepts_context =
                     ((argparser->keyword_len == 7
-                      && memcmp (argparser->keyword, "gettext", 7) == 0)
+                      && memeq (argparser->keyword, "gettext", 7))
                      || (argparser->keyword_len == 8
-                         && memcmp (argparser->keyword, "ngettext", 8) == 0)
+                         && memeq (argparser->keyword, "ngettext", 8))
                      || (argparser->keyword_len == 14
-                         && memcmp (argparser->keyword, "printf_gettext", 14) == 0)
+                         && memeq (argparser->keyword, "printf_gettext", 14))
                      || (argparser->keyword_len == 15
-                         && memcmp (argparser->keyword, "printf_ngettext", 15) == 0));
+                         && memeq (argparser->keyword, "printf_ngettext", 15)));
                   bool accepts_expand =
                     ((argparser->keyword_len == 7
-                      && memcmp (argparser->keyword, "gettext", 7) == 0)
+                      && memeq (argparser->keyword, "gettext", 7))
                      || (argparser->keyword_len == 8
-                         && memcmp (argparser->keyword, "ngettext", 8) == 0));
+                         && memeq (argparser->keyword, "ngettext", 8)));
                   if (accepts_context && argparser->next_is_msgctxt)
                     {
                       mixed_string_ty *ms = mixed_string_buffer_cloned_result (inner.token);
@@ -1444,7 +1444,7 @@ read_command (int looking_for, flag_region_ty *outer_region)
                           char *s = mixed_string_contents (ms);
                           bool expands_backslash_c =
                             (argparser->keyword_len == 7
-                             && memcmp (argparser->keyword, "gettext", 7) == 0);
+                             && memeq (argparser->keyword, "gettext", 7));
                           bool backslash_c = false;
                           char *expanded =
                             (char *)
index 384e05369a5632b49161bd33ec66be0a35ed028b..0da4203f2f4f0424a85a36852a1fed3c70f25d29 100644 (file)
@@ -66,7 +66,7 @@ string_has_ascii_ellipsis (const char *string)
       /* sentence_end doesn't treat '...' specially.  */
       const char *cp = end - (ending_char == '.' ? 2 : 3);
 
-      if (cp >= str && memcmp (cp, "...", 3) == 0)
+      if (cp >= str && memeq (cp, "...", 3))
         return true;
 
       str = end + 1;
@@ -118,14 +118,14 @@ string_has_space_ellipsis (const char *string)
         {
           /* sentence_end doesn't treat '...' specially.  */
           const char *cp = end - 2;
-          if (cp >= str && memcmp (cp, "...", 3) == 0)
+          if (cp >= str && memeq (cp, "...", 3))
             ellipsis = cp;
         }
       else
         {
           /* Look for a '...'.  */
           const char *cp = end - 3;
-          if (cp >= str && memcmp (cp, "...", 3) == 0)
+          if (cp >= str && memeq (cp, "...", 3))
             ellipsis = cp;
           else
             {
index 1add934498decf03420db2c0623d218d58307af6..db3171a5f85bd839d358bf3f84ef35121b84156e 100644 (file)
@@ -424,7 +424,7 @@ mixed_string_buffer_equals (const struct mixed_string_buffer *bp,
   size_t other_len = strlen (other);
   return (bp->nsegments == 0
           && bp->curr_buflen == other_len
-          && (other_len == 0 || memcmp (bp->curr_buffer, other, other_len) == 0)
+          && (other_len == 0 || memeq (bp->curr_buffer, other, other_len))
           && bp->utf16_surr == 0);
 }
 
@@ -436,9 +436,9 @@ mixed_string_buffer_startswith (const struct mixed_string_buffer *bp,
   return prefix_len == 0
          || (bp->nsegments == 0
              ? bp->curr_buflen >= prefix_len
-               && memcmp (bp->curr_buffer, prefix, prefix_len) == 0
+               && memeq (bp->curr_buffer, prefix, prefix_len)
              : bp->segments[0]->length >= prefix_len
-               && memcmp (bp->segments[0]->contents, prefix, prefix_len) == 0);
+               && memeq (bp->segments[0]->contents, prefix, prefix_len));
 }
 
 /* Auxiliary function: Ensure count more bytes are available in
index beac556d343a6f5778f0d76ed1431491df2ca10b..d8acd28690c07fca006d7803039009afdd0cd1f7 100644 (file)
@@ -990,7 +990,7 @@ xgettext cannot work without keywords to look for"));
           char *reduced = xstrdup (base);
           /* Remove a trailing ".in" - it's a generic suffix.  */
           while (strlen (reduced) >= 3
-                 && memcmp (reduced + strlen (reduced) - 3, ".in", 3) == 0)
+                 && memeq (reduced + strlen (reduced) - 3, ".in", 3))
             reduced[strlen (reduced) - 3] = '\0';
 
           /* If no language is specified with -L, deduce it the extension.  */
@@ -1577,7 +1577,7 @@ xgettext_record_flag (const char *optionstring)
     /* Analyze the flag part.  */
     {
       bool pass = false;
-      if (flag_end - flag_start >= 5 && memcmp (flag_start, "pass-", 5) == 0)
+      if (flag_end - flag_start >= 5 && memeq (flag_start, "pass-", 5))
         {
           pass = true;
           flag_start += 5;
@@ -1586,31 +1586,31 @@ xgettext_record_flag (const char *optionstring)
       /* Unlike parse_comment_special(), we don't accept "fuzzy",
          "wrap", or "check" here - it has no sense.  */
       if (flag_end - flag_start >= 7
-          && memcmp (flag_end - 7, "-format", 7) == 0)
+          && memeq (flag_end - 7, "-format", 7))
         {
           const char *p = flag_start;
           size_t n = flag_end - flag_start - 7;
 
           enum is_format value;
-          if (n >= 3 && memcmp (p, "no-", 3) == 0)
+          if (n >= 3 && memeq (p, "no-", 3))
             {
               p += 3;
               n -= 3;
               value = no;
             }
-          else if (n >= 9 && memcmp (p, "possible-", 9) == 0)
+          else if (n >= 9 && memeq (p, "possible-", 9))
             {
               p += 9;
               n -= 9;
               value = possible;
             }
-          else if (n >= 11 && memcmp (p, "impossible-", 11) == 0)
+          else if (n >= 11 && memeq (p, "impossible-", 11))
             {
               p += 11;
               n -= 11;
               value = impossible;
             }
-          else if (n >= 10 && memcmp (p, "undecided-", 10) == 0)
+          else if (n >= 10 && memeq (p, "undecided-", 10))
             {
               p += 10;
               n -= 10;
@@ -1621,7 +1621,7 @@ xgettext_record_flag (const char *optionstring)
 
           for (size_t type = 0; type < NFORMATS; type++)
             if (strlen (format_language[type]) == n
-                && memcmp (format_language[type], p, n) == 0)
+                && memeq (format_language[type], p, n))
               {
                 /* This dispatch does the reverse mapping of all the SCANNERS_*
                    macros defined in the x-*.h files.  For example,