diff options
author | Dan McGee <dan@archlinux.org> | 2007-03-01 05:51:24 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2007-03-01 05:51:24 +0100 |
commit | af5cbf30840d128f2896a92527700cd4bd44322c (patch) | |
tree | 5e596a3193ef9ef36183186bbba54d829bc06f17 /src | |
parent | 77a9533b6446420a0868a5f940f682cc9b0c1706 (diff) | |
download | pacman-af5cbf30840d128f2896a92527700cd4bd44322c.tar.gz pacman-af5cbf30840d128f2896a92527700cd4bd44322c.tar.xz |
* Updated Italian translation
Giovanni Scafora <linuxmania@gmail.com>
* Fixed FS #6442 - don't list directories in -Ql output.
Diffstat (limited to 'src')
-rw-r--r-- | src/pacman/package.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/pacman/package.c b/src/pacman/package.c index ad629f73..d5a3d04e 100644 --- a/src/pacman/package.c +++ b/src/pacman/package.c @@ -208,15 +208,24 @@ void dump_pkg_backups(pmpkg_t *pkg) */ void dump_pkg_files(pmpkg_t *pkg) { - const char *pkgname; + const char *pkgname, *root, *filestr; alpm_list_t *i, *pkgfiles; + struct stat buf; + char path[PATH_MAX]; pkgname = alpm_pkg_get_name(pkg); pkgfiles = alpm_pkg_get_files(pkg); + root = alpm_option_get_root(); for(i = pkgfiles; i; i = alpm_list_next(i)) { - fprintf(stdout, "%s %s%s\n", pkgname, alpm_option_get_root(), - (char *)alpm_list_getdata(i)); + filestr = (char*)alpm_list_getdata(i); + /* build a path so we can stat the filename */ + snprintf(path, PATH_MAX-1, "%s%s", root, filestr); + if(!stat(path, &buf) && S_ISDIR(buf.st_mode)) { + /* if we stat it and it is a dir, don't print */ + } else { + fprintf(stdout, "%s %s\n", pkgname, path); + } } fflush(stdout); |