[pacman-dev] [PATCH] src/pacman/query.c: do not exit -Qo with error if file does not exist
iff at escondida.tk
iff at escondida.tk
Sun Nov 12 23:00:31 UTC 2017
From: Ivy Foster <iff at escondida.tk>
Query operations act on the local db, not the filesystem. Also, a
valid use case for -Qo is to discover what package owns a deleted file
so it can be reinstalled.
Closes FS#55856.
Signed-off-by: Ivy Foster <iff at escondida.tk>
---
I've opted to simply remove the relevant error messages here, since
there's a good chance that the user is aware that the file is missing
if they're querying a missing file.
As a side note, this removes the sole usage of the translated error
"failed to find '%s' in PATH: %s\n". I have not deleted this string
from every .po file, but that option now exists.
src/pacman/query.c | 16 +++-------------
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/src/pacman/query.c b/src/pacman/query.c
index 024d3e21..64c42f19 100644
--- a/src/pacman/query.c
+++ b/src/pacman/query.c
@@ -171,19 +171,9 @@ static int query_fileowner(alpm_list_t *targets)
filename[len--] = '\0';
}
- if(lstat(filename, &buf) == -1) {
- /* if it is not a path but a program name, then check in PATH */
- if(strchr(filename, '/') == NULL) {
- if(search_path(&filename, &buf) == -1) {
- pm_printf(ALPM_LOG_ERROR, _("failed to find '%s' in PATH: %s\n"),
- filename, strerror(errno));
- goto targcleanup;
- }
- } else {
- pm_printf(ALPM_LOG_ERROR, _("failed to read file '%s': %s\n"),
- filename, strerror(errno));
- goto targcleanup;
- }
+ /* if it is not a path but a program name, then check in PATH */
+ if((lstat(filename, &buf) == -1) && (strchr(filename, '/') == NULL)) {
+ search_path(&filename, &buf);
}
if(!lrealpath(filename, rpath)) {
--
2.15.0
More information about the pacman-dev
mailing list