---
cutils.c | 12 ++++++++++++
net.c | 7 +------
qemu-common.h | 1 +
3 files changed, 14 insertions(+), 6 deletions(-)
Index: qemu-git.pt/net.c
===================================================================
--- qemu-git.pt.orig/net.c
+++ qemu-git.pt/net.c
@@ -733,12 +733,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-common.h
===================================================================
--- qemu-git.pt.orig/qemu-common.h
+++ qemu-git.pt/qemu-common.h
@@ -143,6 +143,7 @@ time_t mktimegm(struct tm *tm);
int qemu_fls(int i);
int qemu_fdatasync(int fd);
int fcntl_setfl(int fd, int flag);
+int qemu_parse_fd(const char *param);
/*
* strtosz() suffixes used to specify the default treatment of an
Index: qemu-git.pt/cutils.c
===================================================================
--- qemu-git.pt.orig/cutils.c
+++ qemu-git.pt/cutils.c
@@ -415,3 +415,15 @@ int64_t strtosz(const char *nptr, char *
{
return strtosz_suffix(nptr, end, STRTOSZ_DEFSUFFIX_MB);
}
+
+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;
+}