X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fconcatpath.c;h=a6d4173562d1e29f64c2ab113b7aa192e93b2407;hb=2354d5ead305b61c925e53bcfb73d47de7c53162;hp=716d2f5d461d67b45a50527dda98084f1a8f2c02;hpb=ac52880a4604e1b2cd72ae710870e3d463a12d84;p=gnulib.git diff --git a/lib/concatpath.c b/lib/concatpath.c index 716d2f5d4..a6d417356 100644 --- a/lib/concatpath.c +++ b/lib/concatpath.c @@ -1,5 +1,5 @@ /* Construct a full pathname from a directory and a filename. - Copyright (C) 2001-2002 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2006, 2007 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 @@ -13,14 +13,12 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Bruno Haible . */ -#ifdef HAVE_CONFIG_H -# include -#endif +#include /* Specification. */ #include "pathname.h" @@ -28,7 +26,6 @@ #include #include "xalloc.h" -#include "stpcpy.h" /* Concatenate a directory pathname, a relative pathname and an optional suffix. The directory may end with the directory separator. The second @@ -44,21 +41,23 @@ 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 { size_t directory_len = strlen (directory); int need_slash = - (directory_len > FILESYSTEM_PREFIX_LEN (directory) + (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)