qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 4/5] Avoid unportable %m format


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH 4/5] Avoid unportable %m format
Date: Thu, 12 Jul 2012 19:43:59 +0000

On Tue, Jul 10, 2012 at 8:53 PM, Anthony Liguori <address@hidden> wrote:
> On 07/08/2012 06:51 AM, address@hidden wrote:
>>
>> From: Blue Swirl<address@hidden>
>>
>> Replace %m format with explicit call to standard strerror().
>>
>> Signed-off-by: Blue Swirl<address@hidden>
>
>
> I would expect '%m' to be thread safe whereas strerror() isn't.  I don't
> think this change is actually good.
>
> You'd need to do something more clever with strerror_r() to be equivalent.

There's also g_strerror() which has a simpler interface.

>
> Regards,
>
> Anthony Liguori
>
>
>> ---
>>   kvm-all.c       |    3 ++-
>>   main-loop.c     |    2 +-
>>   net/tap-linux.c |    8 +++++---
>>   qemu-nbd.c      |    3 +--
>>   4 files changed, 9 insertions(+), 7 deletions(-)
>>
>> diff --git a/kvm-all.c b/kvm-all.c
>> index f8e4328..d6f4819 100644
>> --- a/kvm-all.c
>> +++ b/kvm-all.c
>> @@ -1219,7 +1219,8 @@ int kvm_init(void)
>>       s->vmfd = -1;
>>       s->fd = qemu_open("/dev/kvm", O_RDWR);
>>       if (s->fd == -1) {
>> -        fprintf(stderr, "Could not access KVM kernel module: %m\n");
>> +        fprintf(stderr, "Could not access KVM kernel module: %s\n",
>> +                strerror(errno));
>>           ret = -errno;
>>           goto err;
>>       }
>> diff --git a/main-loop.c b/main-loop.c
>> index eb3b6e6..472c55e 100644
>> --- a/main-loop.c
>> +++ b/main-loop.c
>> @@ -116,7 +116,7 @@ static void sigfd_handler(void *opaque)
>>           }
>>
>>           if (len != sizeof(info)) {
>> -            printf("read from sigfd returned %zd: %m\n", len);
>> +            printf("read from sigfd returned %zd: %s\n", len,
>> strerror(errno));
>>               return;
>>           }
>>
>> diff --git a/net/tap-linux.c b/net/tap-linux.c
>> index 41d581b..94e5b1e 100644
>> --- a/net/tap-linux.c
>> +++ b/net/tap-linux.c
>> @@ -42,7 +42,7 @@ int tap_open(char *ifname, int ifname_size, int
>> *vnet_hdr, int vnet_hdr_required
>>
>>       TFR(fd = open(PATH_NET_TUN, O_RDWR));
>>       if (fd<  0) {
>> -        error_report("could not open %s: %m", PATH_NET_TUN);
>> +        error_report("could not open %s: %s", PATH_NET_TUN,
>> strerror(errno));
>>           return -1;
>>       }
>>       memset(&ifr, 0, sizeof(ifr));
>> @@ -74,9 +74,11 @@ int tap_open(char *ifname, int ifname_size, int
>> *vnet_hdr, int vnet_hdr_required
>>       ret = ioctl(fd, TUNSETIFF, (void *)&ifr);
>>       if (ret != 0) {
>>           if (ifname[0] != '\0') {
>> -            error_report("could not configure %s (%s): %m", PATH_NET_TUN,
>> ifr.ifr_name);
>> +            error_report("could not configure %s (%s): %s", PATH_NET_TUN,
>> +                         ifr.ifr_name, strerror(errno));
>>           } else {
>> -            error_report("could not configure %s: %m", PATH_NET_TUN);
>> +            error_report("could not configure %s: %s", PATH_NET_TUN,
>> +                         strerror(errno));
>>           }
>>           close(fd);
>>           return -1;
>> diff --git a/qemu-nbd.c b/qemu-nbd.c
>> index 5a0300e..099b5ed 100644
>> --- a/qemu-nbd.c
>> +++ b/qemu-nbd.c
>> @@ -213,8 +213,7 @@ static void *nbd_client_thread(void *arg)
>>
>>       fd = open(device, O_RDWR);
>>       if (fd<  0) {
>> -        /* Linux-only, we can use %m in printf.  */
>> -        fprintf(stderr, "Failed to open %s: %m", device);
>> +        fprintf(stderr, "Failed to open %s: %s", device,
>> strerror(errno));
>>           goto out;
>>       }
>>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]