On 05/11/2014 09:12, Max Reitz wrote: > On 2014-11-05 at 09:09, SeokYeon Hwang wrote: >> Negative type of errno like -ERRNO is used a lot by developers. >> Therefore, error_set_errno() is modified to deal with a negative type >> of os_error. >> (Negative type is used at pcie_cap_slot_hotplug_common() in >> hw/pci/pcie.c) >> >> Signed-off-by: SeokYeon Hwang <syeon.hw...@samsung.com> >> --- >> util/error.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/util/error.c b/util/error.c >> index 2ace0d8..5db00c9 100644 >> --- a/util/error.c >> +++ b/util/error.c >> @@ -68,7 +68,7 @@ void error_set_errno(Error **errp, int os_errno, >> ErrorClass err_class, >> va_start(ap, fmt); >> msg1 = g_strdup_vprintf(fmt, ap); >> if (os_errno != 0) { >> - err->msg = g_strdup_printf("%s: %s", msg1, strerror(os_errno)); >> + err->msg = g_strdup_printf("%s: %s", msg1, >> strerror(abs(os_errno))); >> g_free(msg1); >> } else { >> err->msg = msg1; > > This is utterly broken and we should fix all callers instead. > > ...But I like it.
I don't, we really should fix the callers. Paolo > Reviewed-by: Max Reitz <mre...@redhat.com>