X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Funixctl.c;h=d75166fe424117c0a5d3703c6223a0bc1cfb3343;hb=4895c7016139e2e59c17b1d9c39aa3eca90399da;hp=7cc7e5e234a6ee4e45d79ededbf8e150c488d68a;hpb=279320b8276011df3667478de6750d5a40d0c6eb;p=openvswitch diff --git a/lib/unixctl.c b/lib/unixctl.c index 7cc7e5e2..d75166fe 100644 --- a/lib/unixctl.c +++ b/lib/unixctl.c @@ -115,9 +115,14 @@ unixctl_command_register(const char *name, const char *args, unixctl_cb_func *cb, void *aux) { struct unixctl_command *command; + struct unixctl_command *lookup = shash_find_data(&commands, name); + + assert(!lookup || lookup->cb == cb); + + if (lookup) { + return; + } - assert(!shash_find_data(&commands, name) - || shash_find_data(&commands, name) == cb); command = xmalloc(sizeof *command); command->args = args; command->cb = cb;