]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
Don't use float-derived integer SHORT_MSG_MAX to define array.
authorDaiki Ueno <ueno@gnu.org>
Sun, 6 Jan 2013 03:50:27 +0000 (12:50 +0900)
committerDaiki Ueno <ueno@gnu.org>
Sun, 6 Jan 2013 03:50:54 +0000 (12:50 +0900)
gettext-tools/src/ChangeLog
gettext-tools/src/msgl-fsearch.c

index 2faff73ad2404d4a82dc0ce1d2b04d8b18ba4a8a..fc37e3fc671ab8e29b408b56394a3907d5ec3587 100644 (file)
@@ -1,3 +1,11 @@
+2013-01-06  Daiki Ueno  <ueno@gnu.org>
+
+       * msgl-fsearch.c (message_fuzzy_index_ty): Don't use float-derived
+       integer SHORT_MSG_MAX to define array.
+       (message_fuzzy_index_alloc): Allocate memory for 'short_messages'
+       field dynamically.
+       (message_fuzzy_index_free): Free it.
+
 2013-01-03  Daiki Ueno  <ueno@gnu.org>
 
        * xgettext.c (construct_header): Fix memory leak.
index 4cacf398c34783dba13d60086816c5e6be90abb5..d2aa8656bdc68e364074aebd74f18c7992220060 100644 (file)
@@ -197,7 +197,7 @@ struct message_fuzzy_index_ty
   character_iterator_t iterator;
   hash_table gram4;
   size_t firstfew;
-  message_list_ty *short_messages[SHORT_MSG_MAX + 1];
+  message_list_ty **short_messages;
 };
 
 /* Allocate a fuzzy index corresponding to a given list of messages.
@@ -304,6 +304,7 @@ message_fuzzy_index_alloc (const message_list_ty *mlp,
     findex->firstfew = 10;
 
   /* Setup lists of short messages.  */
+  findex->short_messages = XNMALLOC (SHORT_MSG_MAX + 1, message_list_ty *);
   for (l = 0; l <= SHORT_MSG_MAX; l++)
     findex->short_messages[l] = message_list_alloc (false);
   for (j = 0; j < count; j++)
@@ -654,6 +655,7 @@ message_fuzzy_index_free (message_fuzzy_index_ty *findex)
   /* Free the short lists.  */
   for (l = 0; l <= SHORT_MSG_MAX; l++)
     message_list_free (findex->short_messages[l], 1);
+  free (findex->short_messages);
 
   /* Free the index lists occurring as values in the hash tables.  */
   iter = NULL;