From: Andreas Steffen Date: Thu, 27 Oct 2011 04:41:09 +0000 (+0200) Subject: Unix-Style File Metadata returns relative pathnames X-Git-Tag: 4.6.2~292 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=96d611f585b5a8714e59b411e5e44d47348faa2c;p=thirdparty%2Fstrongswan.git Unix-Style File Metadata returns relative pathnames --- diff --git a/src/libpts/pts/pts.c b/src/libpts/pts/pts.c index 5f09436741..269be4108d 100644 --- a/src/libpts/pts/pts.c +++ b/src/libpts/pts/pts.c @@ -597,8 +597,6 @@ static bool file_metadata(char *pathname, pts_file_metadata_t **entry) return FALSE; } - this->filename = strdup(pathname); - if (S_ISREG(st.st_mode)) { this->type = PTS_FILE_REGULAR; @@ -677,6 +675,7 @@ METHOD(pts_t, get_metadata, pts_file_meta_t*, metadata->destroy(metadata); return NULL; } + entry->filename = strdup(rel_name); metadata->add(metadata, entry); } } @@ -684,14 +683,12 @@ METHOD(pts_t, get_metadata, pts_file_meta_t*, } else { - char *filename; - if (!file_metadata(pathname, &entry)) { metadata->destroy(metadata); return NULL; } - filename = get_filename(pathname); + entry->filename = strdup(get_filename(pathname)); metadata->add(metadata, entry); }