qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v6 01/25] qmp: constify QmpCommand and list


From: Damien Hedde
Subject: Re: [PATCH v6 01/25] qmp: constify QmpCommand and list
Date: Fri, 8 Nov 2019 17:50:38 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.0


On 11/8/19 4:00 PM, Marc-André Lureau wrote:
> Since 0b69f6f72ce47a37a749b056b6d5ec64c61f11e8 "qapi: remove
> qmp_unregister_command()", the command list can be declared const.
> 
> Signed-off-by: Marc-André Lureau <address@hidden>
> ---
>  include/qapi/qmp/dispatch.h | 9 +++++----
>  monitor/misc.c              | 2 +-
>  monitor/monitor-internal.h  | 2 +-
>  qapi/qmp-dispatch.c         | 6 +++---
>  qapi/qmp-registry.c         | 6 +++---
>  qga/commands.c              | 2 +-
>  qga/main.c                  | 6 +++---
>  7 files changed, 17 insertions(+), 16 deletions(-)
> 
> diff --git a/include/qapi/qmp/dispatch.h b/include/qapi/qmp/dispatch.h
> index 9aa426a398..5a9cf82472 100644
> --- a/include/qapi/qmp/dispatch.h
> +++ b/include/qapi/qmp/dispatch.h
> @@ -39,7 +39,8 @@ typedef QTAILQ_HEAD(QmpCommandList, QmpCommand) 
> QmpCommandList;
>  
>  void qmp_register_command(QmpCommandList *cmds, const char *name,
>                            QmpCommandFunc *fn, QmpCommandOptions options);
> -QmpCommand *qmp_find_command(QmpCommandList *cmds, const char *name);
> +const QmpCommand *qmp_find_command(const QmpCommandList *cmds,
> +                                   const char *name);
>  void qmp_disable_command(QmpCommandList *cmds, const char *name);
>  void qmp_enable_command(QmpCommandList *cmds, const char *name);
>  
> @@ -47,13 +48,13 @@ bool qmp_command_is_enabled(const QmpCommand *cmd);
>  const char *qmp_command_name(const QmpCommand *cmd);
>  bool qmp_has_success_response(const QmpCommand *cmd);
>  QDict *qmp_error_response(Error *err);
> -QDict *qmp_dispatch(QmpCommandList *cmds, QObject *request,
> +QDict *qmp_dispatch(const QmpCommandList *cmds, QObject *request,
>                      bool allow_oob);
>  bool qmp_is_oob(const QDict *dict);
>  
> -typedef void (*qmp_cmd_callback_fn)(QmpCommand *cmd, void *opaque);
> +typedef void (*qmp_cmd_callback_fn)(const QmpCommand *cmd, void *opaque);
>  
> -void qmp_for_each_command(QmpCommandList *cmds, qmp_cmd_callback_fn fn,
> +void qmp_for_each_command(const QmpCommandList *cmds, qmp_cmd_callback_fn fn,
>                            void *opaque);
>  
>  #endif
> diff --git a/monitor/misc.c b/monitor/misc.c
> index 3baa15f3bf..3052bfe8f1 100644
> --- a/monitor/misc.c
> +++ b/monitor/misc.c
> @@ -230,7 +230,7 @@ static void hmp_info_help(Monitor *mon, const QDict 
> *qdict)
>      help_cmd(mon, "info");
>  }
>  
> -static void query_commands_cb(QmpCommand *cmd, void *opaque)
> +static void query_commands_cb(const QmpCommand *cmd, void *opaque)
>  {
>      CommandInfoList *info, **list = opaque;
>  
> diff --git a/monitor/monitor-internal.h b/monitor/monitor-internal.h
> index d78f5ca190..3e7dac5910 100644
> --- a/monitor/monitor-internal.h
> +++ b/monitor/monitor-internal.h
> @@ -132,7 +132,7 @@ typedef struct {
>       * qmp_capabilities succeeds, we go into command mode, and
>       * @command becomes &qmp_commands.
>       */
> -    QmpCommandList *commands;
> +    const QmpCommandList *commands;
>      bool capab_offered[QMP_CAPABILITY__MAX]; /* capabilities offered */
>      bool capab[QMP_CAPABILITY__MAX];         /* offered and accepted */
>      /*
> diff --git a/qapi/qmp-dispatch.c b/qapi/qmp-dispatch.c
> index bc264b3c9b..857399c5fe 100644
> --- a/qapi/qmp-dispatch.c
> +++ b/qapi/qmp-dispatch.c
> @@ -75,14 +75,14 @@ static QDict *qmp_dispatch_check_obj(const QObject 
> *request, bool allow_oob,
>      return dict;
>  }
>  
> -static QObject *do_qmp_dispatch(QmpCommandList *cmds, QObject *request,
> +static QObject *do_qmp_dispatch(const QmpCommandList *cmds, QObject *request,
>                                  bool allow_oob, Error **errp)
>  {
>      Error *local_err = NULL;
>      bool oob;
>      const char *command;
>      QDict *args, *dict;
> -    QmpCommand *cmd;
> +    const QmpCommand *cmd;
>      QObject *ret = NULL;
>  
>      dict = qmp_dispatch_check_obj(request, allow_oob, errp);
> @@ -164,7 +164,7 @@ bool qmp_is_oob(const QDict *dict)
>          && !qdict_haskey(dict, "execute");
>  }
>  
> -QDict *qmp_dispatch(QmpCommandList *cmds, QObject *request,
> +QDict *qmp_dispatch(const QmpCommandList *cmds, QObject *request,
>                      bool allow_oob)
>  {
>      Error *err = NULL;
> diff --git a/qapi/qmp-registry.c b/qapi/qmp-registry.c
> index ca00f74795..d0f9a1d3e3 100644
> --- a/qapi/qmp-registry.c
> +++ b/qapi/qmp-registry.c
> @@ -27,7 +27,7 @@ void qmp_register_command(QmpCommandList *cmds, const char 
> *name,
>      QTAILQ_INSERT_TAIL(cmds, cmd, node);
>  }
>  
> -QmpCommand *qmp_find_command(QmpCommandList *cmds, const char *name)
> +const QmpCommand *qmp_find_command(const QmpCommandList *cmds, const char 
> *name)
>  {
>      QmpCommand *cmd;
>  
> @@ -77,10 +77,10 @@ bool qmp_has_success_response(const QmpCommand *cmd)
>      return !(cmd->options & QCO_NO_SUCCESS_RESP);
>  }
>  
> -void qmp_for_each_command(QmpCommandList *cmds, qmp_cmd_callback_fn fn,
> +void qmp_for_each_command(const QmpCommandList *cmds, qmp_cmd_callback_fn fn,
>                            void *opaque)
>  {
> -    QmpCommand *cmd;
> +    const QmpCommand *cmd;
>  
>      QTAILQ_FOREACH(cmd, cmds, node) {
>          fn(cmd, opaque);
> diff --git a/qga/commands.c b/qga/commands.c
> index 0c7d1385c2..05e9ab6c3d 100644
> --- a/qga/commands.c
> +++ b/qga/commands.c
> @@ -54,7 +54,7 @@ void qmp_guest_ping(Error **errp)
>      slog("guest-ping called");
>  }
>  
> -static void qmp_command_info(QmpCommand *cmd, void *opaque)
> +static void qmp_command_info(const QmpCommand *cmd, void *opaque)
>  {
>      GuestAgentInfo *info = opaque;
>      GuestAgentCommandInfo *cmd_info;
> diff --git a/qga/main.c b/qga/main.c
> index c35c2a2120..f23614528e 100644
> --- a/qga/main.c
> +++ b/qga/main.c
> @@ -359,7 +359,7 @@ static gint ga_strcmp(gconstpointer str1, gconstpointer 
> str2)
>  }
>  
>  /* disable commands that aren't safe for fsfreeze */
> -static void ga_disable_non_whitelisted(QmpCommand *cmd, void *opaque)
> +static void ga_disable_non_whitelisted(const QmpCommand *cmd, void *opaque)
>  {
>      bool whitelisted = false;
>      int i = 0;
> @@ -378,7 +378,7 @@ static void ga_disable_non_whitelisted(QmpCommand *cmd, 
> void *opaque)
>  }
>  
>  /* [re-]enable all commands, except those explicitly blacklisted by user */
> -static void ga_enable_non_blacklisted(QmpCommand *cmd, void *opaque)
> +static void ga_enable_non_blacklisted(const QmpCommand *cmd, void *opaque)
>  {
>      GList *blacklist = opaque;
>      const char *name = qmp_command_name(cmd);
> @@ -918,7 +918,7 @@ int64_t ga_get_fd_handle(GAState *s, Error **errp)
>      return handle;
>  }
>  
> -static void ga_print_cmd(QmpCommand *cmd, void *opaque)
> +static void ga_print_cmd(const QmpCommand *cmd, void *opaque)
>  {
>      printf("%s\n", qmp_command_name(cmd));
>  }
> 

Reviewed-by: Damien Hedde <address@hidden>

Damien



reply via email to

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