Patchwork Move filedescriptor parsing code from net.c into qemu_parse_fd()

login
register
mail settings
Submitter Stefan Berger
Date Sept. 27, 2011, 4:02 p.m.
Message ID <1317139327.12988.2.camel@d941e-10>
Download mbox | patch
Permalink /patch/116624/
State New
Headers show

Comments

Stefan Berger - Sept. 27, 2011, 4:02 p.m.
Move the parsing of a filedescriptor into a common function qemu_parse_fd().
Have the code in net.c call this function.

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>

---
 net.c       |    8 ++------
 qemu-char.c |   12 ++++++++++++
 qemu-char.h |    2 ++
 3 files changed, 16 insertions(+), 6 deletions(-)
Stefan Hajnoczi - Sept. 28, 2011, 8:36 a.m.
On Tue, Sep 27, 2011 at 5:02 PM, Stefan Berger
<stefanb@linux.vnet.ibm.com> wrote:
> Move the parsing of a filedescriptor into a common function qemu_parse_fd().
> Have the code in net.c call this function.
>
> Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
>
> ---
>  net.c       |    8 ++------
>  qemu-char.c |   12 ++++++++++++
>  qemu-char.h |    2 ++
>  3 files changed, 16 insertions(+), 6 deletions(-)

Seems fine but what does this have to do with qemu-char.h?  Can this
be a much more generic function, maybe even cutils.c?

Stefan

Patch

Index: qemu-git.pt/net.c
===================================================================
--- qemu-git.pt.orig/net.c
+++ qemu-git.pt/net.c
@@ -36,6 +36,7 @@ 
 #include "qemu_socket.h"
 #include "hw/qdev.h"
 #include "iov.h"
+#include "qemu-char.h"
 
 static QTAILQ_HEAD(, VLANState) vlans;
 static QTAILQ_HEAD(, VLANClientState) non_vlan_clients;
@@ -733,12 +734,7 @@  int net_handle_fd_param(Monitor *mon, co
             return -1;
         }
     } else {
-        char *endptr = NULL;
-
-        fd = strtol(param, &endptr, 10);
-        if (*endptr || (fd == 0 && param == endptr)) {
-            return -1;
-        }
+        fd = qemu_parse_fd(param);
     }
 
     return fd;
Index: qemu-git.pt/qemu-char.c
===================================================================
--- qemu-git.pt.orig/qemu-char.c
+++ qemu-git.pt/qemu-char.c
@@ -2692,3 +2692,15 @@  CharDriverState *qemu_chr_find(const cha
     }
     return NULL;
 }
+
+int qemu_parse_fd(const char *param)
+{
+    int fd;
+    char *endptr = NULL;
+
+    fd = strtol(param, &endptr, 10);
+    if (*endptr || (fd == 0 && param == endptr)) {
+        return -1;
+    }
+    return fd;
+}
Index: qemu-git.pt/qemu-char.h
===================================================================
--- qemu-git.pt.orig/qemu-char.h
+++ qemu-git.pt/qemu-char.h
@@ -248,4 +248,6 @@  int qemu_set_fd_handler(int fd,
                         IOHandler *fd_read,
                         IOHandler *fd_write,
                         void *opaque);
+
+int qemu_parse_fd(const char *param);
 #endif