mirror of
https://github.com/openvswitch/ovs
synced 2025-09-05 08:45:23 +00:00
unixctl: Implement quoting.
The protocol used by ovs-appctl has a long-standing bug that there is no way to distinguish "ovs-appctl a b c" from "ovs-appctl 'a b c'". This isn't a big deal because none of the current commands really want to accept arguments that include spaces, but it's kind of a silly limitation. At the same time, the internal API is awkward because every user is stuck doing its own argument parsing, which is no fun. This commit fixes both problems, by adding shell-like quoting to the protocol and modifying the internal API from one that passes a string to one that passes in an array of pre-parsed strings. Command implementations may now specify how many arguments they expect. This simplifies some command implementations significantly. Signed-off-by: Ben Pfaff <blp@nicira.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2009, 2010 Nicira Networks.
|
||||
* Copyright (c) 2009, 2010, 2011 Nicira Networks.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -48,8 +48,8 @@ struct coverage_counter *coverage_counters[] = {
|
||||
static unsigned int epoch;
|
||||
|
||||
static void
|
||||
coverage_unixctl_log(struct unixctl_conn *conn, const char *args OVS_UNUSED,
|
||||
void *aux OVS_UNUSED)
|
||||
coverage_unixctl_log(struct unixctl_conn *conn, int argc OVS_UNUSED,
|
||||
const char *argv[] OVS_UNUSED, void *aux OVS_UNUSED)
|
||||
{
|
||||
coverage_log(VLL_WARN, false);
|
||||
unixctl_command_reply(conn, 200, NULL);
|
||||
@@ -58,7 +58,8 @@ coverage_unixctl_log(struct unixctl_conn *conn, const char *args OVS_UNUSED,
|
||||
void
|
||||
coverage_init(void)
|
||||
{
|
||||
unixctl_command_register("coverage/log", "", coverage_unixctl_log, NULL);
|
||||
unixctl_command_register("coverage/log", "", 0, 0,
|
||||
coverage_unixctl_log, NULL);
|
||||
}
|
||||
|
||||
/* Sorts coverage counters in descending order by count, within equal counts
|
||||
|
Reference in New Issue
Block a user