[pacman-dev] CVS update of pacman-lib/lib/libalpm (util.c)
Aaron Griffin
aaron at archlinux.org
Mon Mar 19 00:49:28 EDT 2007
Date: Monday, March 19, 2007 @ 00:49:28
Author: aaron
Path: /home/cvs-pacman/pacman-lib/lib/libalpm
Modified: util.c (1.49 -> 1.50)
Nagy Gabor <ngaba at petra.hos.u-szeged.hu>
* correct _alpm_rmrf usage with regard to symlinks and directories
--------+
util.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
Index: pacman-lib/lib/libalpm/util.c
diff -u pacman-lib/lib/libalpm/util.c:1.49 pacman-lib/lib/libalpm/util.c:1.50
--- pacman-lib/lib/libalpm/util.c:1.49 Mon Mar 5 17:13:34 2007
+++ pacman-lib/lib/libalpm/util.c Mon Mar 19 00:49:28 2007
@@ -310,21 +310,20 @@
struct dirent *dp;
DIR *dirp;
char name[PATH_MAX];
- struct stat st;
+ struct stat st;
- if(stat(path, &st) == 0) {
- if(S_ISREG(st.st_mode)) {
+ if(lstat(path, &st) == 0) {
+ if(!S_ISDIR(st.st_mode)) {
if(!unlink(path)) {
return(0);
} else {
if(errno == ENOENT) {
return(0);
} else {
- /* not a directory */
return(1);
}
}
- } else if(S_ISDIR(st.st_mode)) {
+ } else {
if((dirp = opendir(path)) == (DIR *)-1) {
return(1);
}
More information about the pacman-dev
mailing list