From 1b50223f8240456b8c989b5c1e016f4a245b527c Mon Sep 17 00:00:00 2001
From: Olivier Brunel <i.am.jack.mail@gmail.com>
Date: Mon, 9 Jan 2012 21:37:31 +0100
Subject: util.c, rmrf(): only create string when needed

The entry's name is only used when not "." or ".." so only print the
string then.

Signed-off-by: Olivier Brunel <i.am.jack.mail@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
---
 lib/libalpm/util.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

(limited to 'lib/libalpm')

diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
index 2d0153e5..6834751f 100644
--- a/lib/libalpm/util.c
+++ b/lib/libalpm/util.c
@@ -381,7 +381,6 @@ int _alpm_rmrf(const char *path)
 	int errflag = 0;
 	struct dirent *dp;
 	DIR *dirp;
-	char name[PATH_MAX];
 	struct stat st;
 
 	if(_alpm_lstat(path, &st) == 0) {
@@ -401,9 +400,10 @@ int _alpm_rmrf(const char *path)
 				return 1;
 			}
 			for(dp = readdir(dirp); dp != NULL; dp = readdir(dirp)) {
-				if(dp->d_ino) {
-					sprintf(name, "%s/%s", path, dp->d_name);
+				if(dp->d_name) {
 					if(strcmp(dp->d_name, "..") != 0 && strcmp(dp->d_name, ".") != 0) {
+						char name[PATH_MAX];
+						sprintf(name, "%s/%s", path, dp->d_name);
 						errflag += _alpm_rmrf(name);
 					}
 				}
-- 
cgit v1.2.3-70-g09d2