From 6ad3ebd28e7fe261b3a99d033d8c990b1d93b366 Mon Sep 17 00:00:00 2001 From: Luiz Capitulino Date: Wed, 10 Feb 2010 23:49:53 -0200 Subject: [PATCH] Monitor: Convert do_getfd() to cmd_new_ret() Signed-off-by: Luiz Capitulino Signed-off-by: Anthony Liguori --- monitor.c | 11 ++++++----- qemu-monitor.hx | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/monitor.c b/monitor.c index 0ae408aafa3..9466c63ba70 100644 --- a/monitor.c +++ b/monitor.c @@ -2403,7 +2403,7 @@ static void do_inject_mce(Monitor *mon, const QDict *qdict) } #endif -static void do_getfd(Monitor *mon, const QDict *qdict, QObject **ret_data) +static int do_getfd(Monitor *mon, const QDict *qdict, QObject **ret_data) { const char *fdname = qdict_get_str(qdict, "fdname"); mon_fd_t *monfd; @@ -2412,12 +2412,12 @@ static void do_getfd(Monitor *mon, const QDict *qdict, QObject **ret_data) fd = qemu_chr_get_msgfd(mon->chr); if (fd == -1) { qemu_error_new(QERR_FD_NOT_SUPPLIED); - return; + return -1; } if (qemu_isdigit(fdname[0])) { qemu_error_new(QERR_INVALID_PARAMETER, "fdname"); - return; + return -1; } fd = dup(fd); @@ -2426,7 +2426,7 @@ static void do_getfd(Monitor *mon, const QDict *qdict, QObject **ret_data) qemu_error_new(QERR_TOO_MANY_FILES); else qemu_error_new(QERR_UNDEFINED_ERROR); - return; + return -1; } QLIST_FOREACH(monfd, &mon->fds, next) { @@ -2436,7 +2436,7 @@ static void do_getfd(Monitor *mon, const QDict *qdict, QObject **ret_data) close(monfd->fd); monfd->fd = fd; - return; + return 0; } monfd = qemu_mallocz(sizeof(mon_fd_t)); @@ -2444,6 +2444,7 @@ static void do_getfd(Monitor *mon, const QDict *qdict, QObject **ret_data) monfd->fd = fd; QLIST_INSERT_HEAD(&mon->fds, monfd, next); + return 0; } static void do_closefd(Monitor *mon, const QDict *qdict, QObject **ret_data) diff --git a/qemu-monitor.hx b/qemu-monitor.hx index d2be5c416a7..e8e2ee1a284 100644 --- a/qemu-monitor.hx +++ b/qemu-monitor.hx @@ -1083,7 +1083,7 @@ ETEXI .params = "getfd name", .help = "receive a file descriptor via SCM rights and assign it a name", .user_print = monitor_user_noop, - .mhandler.cmd_new = do_getfd, + .cmd_new_ret = do_getfd, }, STEXI -- 2.39.5