Skip to content
Snippets Groups Projects
Commit 70fed324 authored by Simon McVittie's avatar Simon McVittie
Browse files

resolve-in-sysroot: Correct misleading error messages


At this point, current_path is everything up to but not including fd.
For example, if we are traversing "x/y/z/w" with current_path = "x/y",
then the fds array contains { x, y } and fd is the result of opening z.
We're looking at the result of calling fstatat() on z, so we need to
see "x/y/z" in the error messages, for example if z is a regular file
(therefore "x/y/z/w" cannot possibly exist).

Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
parent 155430ce
No related branches found
No related tags found
1 merge request!313Fix listing overrides in system-info with recent pressure-vessel
......@@ -281,17 +281,17 @@ _srt_resolve_in_sysroot (int sysroot,
if (!glnx_fstatat (fd, "", &stat_buf, AT_EMPTY_PATH, error))
{
g_prefix_error (error,
"Unable to determine whether \"%s\" "
"Unable to determine whether \"%s/%s\" "
"is a directory",
current_path->str);
current_path->str, next);
return -1;
}
if (!S_ISDIR (stat_buf.st_mode))
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_DIRECTORY,
"\"%s\" is not a directory",
current_path->str);
"\"%s/%s\" is not a directory",
current_path->str, next);
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment