New module 'striconveh'.
[gnulib.git] / lib / concatpath.c
index bdab6aa..01e47f3 100644 (file)
@@ -1,5 +1,5 @@
 /* Construct a full pathname from a directory and a filename.
-   Copyright (C) 2001-2004 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2006 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 the
@@ -18,9 +18,7 @@
 
 /* Written by Bruno Haible <haible@clisp.cons.org>.  */
 
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
+#include <config.h>
 
 /* Specification.  */
 #include "pathname.h"
@@ -44,9 +42,10 @@ concatenated_pathname (const char *directory, const char *filename,
   if (strcmp (directory, ".") == 0)
     {
       /* No need to prepend the directory.  */
-      result = (char *) xmalloc (strlen (filename)
-                                + (suffix != NULL ? strlen (suffix) : 0)
-                                + 1);
+      result = XNMALLOC (strlen (filename)
+                        + (suffix != NULL ? strlen (suffix) : 0)
+                        + 1,
+                        char);
       p = result;
     }
   else
@@ -55,10 +54,11 @@ concatenated_pathname (const char *directory, const char *filename,
       int need_slash =
        (directory_len > FILE_SYSTEM_PREFIX_LEN (directory)
         && !ISSLASH (directory[directory_len - 1]));
-      result = (char *) xmalloc (directory_len + need_slash
-                                + strlen (filename)
-                                + (suffix != NULL ? strlen (suffix) : 0)
-                                + 1);
+      result = XNMALLOC (directory_len + need_slash
+                        + strlen (filename)
+                        + (suffix != NULL ? strlen (suffix) : 0)
+                        + 1,
+                        char);
       memcpy (result, directory, directory_len);
       p = result + directory_len;
       if (need_slash)