[Top][All Lists]
[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;
>> }
>>
>
- Re: [Qemu-devel] [PATCH 1/5] Avoid GCC extension ?:, (continued)
Re: [Qemu-devel] [PATCH 1/5] Avoid GCC extension ?:, Markus Armbruster, 2012/07/09
[Qemu-devel] [PATCH 5/5] Avoid redefining inline, blauwirbel, 2012/07/08
[Qemu-devel] [PATCH 4/5] Avoid unportable %m format, blauwirbel, 2012/07/08