From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45970) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XlyHF-0000cd-Q4 for qemu-devel@nongnu.org; Wed, 05 Nov 2014 05:57:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XlyHA-0007aP-C9 for qemu-devel@nongnu.org; Wed, 05 Nov 2014 05:57:25 -0500 Received: from mail-lb0-x236.google.com ([2a00:1450:4010:c04::236]:61320) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XlyHA-0007Zx-1w for qemu-devel@nongnu.org; Wed, 05 Nov 2014 05:57:20 -0500 Received: by mail-lb0-f182.google.com with SMTP id f15so433890lbj.41 for ; Wed, 05 Nov 2014 02:57:18 -0800 (PST) Sender: Paolo Bonzini Message-ID: <545A0288.4010905@gnu.org> Date: Wed, 05 Nov 2014 11:57:12 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <1415174992-13246-1-git-send-email-syeon.hwang@samsung.com> <5459DBE1.30509@redhat.com> In-Reply-To: <5459DBE1.30509@redhat.com> Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] error: fixed error_set_errno() to deal with a negative type of os_error. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Max Reitz , SeokYeon Hwang , qemu-devel@nongnu.org Cc: paolo.bonzini@gmail.com, armbru@redhat.com 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 >> --- >> 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