qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] PATCH: Replace asprintf() with snprintf() in vnc.c


From: Palle Lyckegaard
Subject: Re: [Qemu-devel] PATCH: Replace asprintf() with snprintf() in vnc.c
Date: Wed, 11 Mar 2009 20:15:01 +0000 (UTC)

Hi,

now vnc.c compiles nicely on Solaris as well...

Regard
Palle


On Wed, 11 Mar 2009, Daniel P. Berrange wrote:

Date: Wed, 11 Mar 2009 14:55:06 +0000
From: Daniel P. Berrange <address@hidden>
To: address@hidden
Subject: [Qemu-devel] PATCH: Replace asprintf() with snprintf() in vnc.c

As previously discussed, this patch removes the non-portable use of
asprintf(), replacing it with malloc+snprintf instead

  Signed-off-by: Daniel P. Berrange <address@hidden>

Daniel

Index: vnc.c
===================================================================
--- vnc.c       (revision 6811)
+++ vnc.c       (working copy)
@@ -53,6 +53,7 @@
    char host[NI_MAXHOST];
    char serv[NI_MAXSERV];
    int err;
+    size_t addrlen;

    if ((err = getnameinfo((struct sockaddr *)sa, salen,
                           host, sizeof(host),
@@ -63,8 +64,12 @@
        return NULL;
    }

-    if (asprintf(&addr, format, host, serv) < 0)
-        return NULL;
+    /* Enough for the existing format + the 2 vars we're
+     * subsituting in. */
+    addrlen = strlen(format) + strlen(host) + strlen(serv);
+    addr = qemu_malloc(addrlen + 1);
+    snprintf(addr, addrlen, format, host, serv);
+    addr[addrlen] = '\0';

    return addr;
}


--
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|







reply via email to

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