[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] Use concat-filename in savedir, fix part of bug #21276.
From: |
Emanuele Giaquinta |
Subject: |
[PATCH] Use concat-filename in savedir, fix part of bug #21276. |
Date: |
Tue, 22 Dec 2009 11:50:23 +0100 |
* bootstrap.conf (gnulib_modules): Add concat-filename.
* lib/savedir.c (isdir1): Use concatenated_filename.
---
bootstrap.conf | 1 +
lib/savedir.c | 28 ++++++++--------------------
2 files changed, 9 insertions(+), 20 deletions(-)
diff --git a/bootstrap.conf b/bootstrap.conf
index 41d126e..1099fcf 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -24,6 +24,7 @@ atexit
binary-io
btowc
closeout
+concat-filename
dirent
dirname
do-release-commit-and-tag
diff --git a/lib/savedir.c b/lib/savedir.c
index c60e7c0..531c9a6 100644
--- a/lib/savedir.c
+++ b/lib/savedir.c
@@ -36,29 +36,23 @@
#include <string.h>
#include <fnmatch.h>
#include "savedir.h"
+#include "concat-filename.h"
extern int isdir (const char *path);
-char *path;
-size_t pathlen;
-
static int
isdir1 (const char *dir, const char *file)
{
int status;
- int slash;
- size_t dirlen = strlen (dir);
- size_t filelen = strlen (file);
- if ((dirlen + filelen + 2) > pathlen)
+ char *path;
+
+ status = 0;
+ path = concatenated_filename (dir, file, NULL);
+ if (path)
{
- path = calloc (dirlen + 1 + filelen + 1, sizeof (*path));
- pathlen = dirlen + filelen + 2;
+ status = isdir (path);
+ free (path);
}
- strcpy (path, dir);
- slash = (path[dirlen] != '/');
- path[dirlen] = '/';
- strcpy (path + dirlen + slash , file);
- status = isdir (path);
return status;
}
@@ -149,11 +143,5 @@ savedir (const char *dir, off_t name_size, struct exclude
*included_patterns,
free (name_space);
return NULL;
}
- if (path)
- {
- free (path);
- path = NULL;
- pathlen = 0;
- }
return name_space;
}
--
1.6.5
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] Use concat-filename in savedir, fix part of bug #21276.,
Emanuele Giaquinta <=