From: Richard Jones Date: Thu, 4 Feb 2010 16:31:09 +0000 (+0000) Subject: hivexsh: cd command: fix error handling X-Git-Tag: 1.0.83~18 X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=43504796252dc8c399f490927008fcbf7d97b27b;p=libguestfs.git hivexsh: cd command: fix error handling The error behaviour of hivex_node_get_child is subtle, so the 'cd' command wouldn't always report errors correctly. This fixes it. --- diff --git a/hivex/hivexsh.c b/hivex/hivexsh.c index ceb1153..39ca634 100644 --- a/hivex/hivexsh.c +++ b/hivex/hivexsh.c @@ -559,10 +559,14 @@ cmd_cd (char *path) continue; } + errno = 0; new_cwd = hivex_node_get_child (h, new_cwd, elem); if (new_cwd == 0) { - fprintf (stderr, _("hivexsh: cd: subkey '%s' not found\n"), - elem); + if (errno) + perror ("hivexsh: cd"); + else + fprintf (stderr, _("hivexsh: cd: subkey '%s' not found\n"), + elem); return -1; } }