From 9648887481c7ad56ef9f7eb2d2810eb6ec32b5be Mon Sep 17 00:00:00 2001 From: Andrew Gregory Date: Sun, 22 Jul 2012 13:30:11 -0400 Subject: [PATCH] query_fileowner: remove resolve_path function resolve_path is a equivalent to calling realpath(path, NULL) except that the returned string is guaranteed to be PATH_MAX long. We never append to the returned string, so this is unnecessary. Signed-off-by: Andrew Gregory --- src/pacman/query.c | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/src/pacman/query.c b/src/pacman/query.c index a14b3e36..725e35d9 100644 --- a/src/pacman/query.c +++ b/src/pacman/query.c @@ -38,23 +38,6 @@ #define LOCAL_PREFIX "local/" -static char *resolve_path(const char *file) -{ - char *str = NULL; - - str = calloc(PATH_MAX, sizeof(char)); - if(!str) { - return NULL; - } - - if(!realpath(file, str)) { - free(str); - return NULL; - } - - return str; -} - /* check if filename exists in PATH */ static int search_path(char **filename, struct stat *bufptr) { @@ -178,7 +161,7 @@ static int query_fileowner(alpm_list_t *targets) if(strcmp(dname, "") == 0) { rpath = NULL; } else { - rpath = resolve_path(dname); + rpath = realpath(dname, NULL); if(!rpath) { pm_printf(ALPM_LOG_ERROR, _("cannot determine real path for '%s': %s\n"), @@ -202,7 +185,7 @@ static int query_fileowner(alpm_list_t *targets) char *ppath, *pdname; const char *pkgfile = file->name; - /* avoid the costly resolve_path usage if the basenames don't match */ + /* avoid the costly realpath usage if the basenames don't match */ if(strcmp(mbasename(pkgfile), bname) != 0) { continue; } @@ -225,7 +208,7 @@ static int query_fileowner(alpm_list_t *targets) strcpy(path + rootlen, pkgfile); pdname = mdirname(path); - ppath = resolve_path(pdname); + ppath = realpath(pdname, NULL); free(pdname); if(ppath && strcmp(ppath, rpath) == 0) {