str: Add function xstrdup_if_nonnull() and introduce many users.
[pspp] / tests / libpspp / stringi-map-test.c
index a8dd9dd6b7068049a377a8f56c23b4282262a58a..a78fd56557f53a46be68ac9a32a346fe1f377acd 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2008, 2009, 2010, 2012, 2014 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -39,6 +39,7 @@
 
 #include "libpspp/hash-functions.h"
 #include "libpspp/compiler.h"
+#include "libpspp/i18n.h"
 #include "libpspp/str.h"
 #include "libpspp/string-set.h"
 #include "libpspp/stringi-set.h"
@@ -68,58 +69,6 @@ check_func (bool ok, int line)
    terminates. */
 #define check(EXPR) check_func ((EXPR), __LINE__)
 
-/* Prints a message about memory exhaustion and exits with a
-   failure code. */
-static void
-xalloc_die (void)
-{
-  printf ("virtual memory exhausted\n");
-  exit (EXIT_FAILURE);
-}
-
-static void *xmalloc (size_t n) MALLOC_LIKE;
-static void *xnmalloc (size_t n, size_t m) MALLOC_LIKE;
-static void *xmemdup (const void *p, size_t n) MALLOC_LIKE;
-
-/* Allocates and returns N bytes of memory. */
-static void *
-xmalloc (size_t n)
-{
-  if (n != 0)
-    {
-      void *p = malloc (n);
-      if (p == NULL)
-        xalloc_die ();
-
-      return p;
-    }
-  else
-    return NULL;
-}
-
-static void *
-xmemdup (const void *p, size_t n)
-{
-  void *q = xmalloc (n);
-  memcpy (q, p, n);
-  return q;
-}
-
-/* Clone STRING.  */
-static char *
-xstrdup (const char *string)
-{
-  return xmemdup (string, strlen (string) + 1);
-}
-
-/* Allocates and returns N * M bytes of memory. */
-static void *
-xnmalloc (size_t n, size_t m)
-{
-  if ((size_t) -1 / m <= n)
-    xalloc_die ();
-  return xmalloc (n * m);
-}
 \f
 /* Support routines. */
 
@@ -144,7 +93,7 @@ get_string (int idx)
   if (*s == NULL)
     {
       *s = xmalloc (16);
-      str_format_26adic (idx + 1, *s, 16);
+      str_format_26adic (idx + 1, true, *s, 16);
     }
   return *s;
 }
@@ -276,7 +225,7 @@ check_map_contains (struct stringi_map *map,
 
   node = stringi_map_find_node (map, key);
   check (node != NULL);
-  check (!strcasecmp (key, stringi_map_node_get_key (node)));
+  check (!utf8_strcasecmp (key, stringi_map_node_get_key (node)));
   check (!strcmp (value, stringi_map_node_get_value (node)));
 
   check (node == stringi_map_insert (map, key, "012"));