git://git.onelab.eu
/
sliver-openvswitch.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ofproto-dpif-upcall: Fix a bug.
[sliver-openvswitch.git]
/
ovsdb
/
ovsdb-tool.c
diff --git
a/ovsdb/ovsdb-tool.c
b/ovsdb/ovsdb-tool.c
index
fe6ab42
..
2ae782e
100644
(file)
--- a/
ovsdb/ovsdb-tool.c
+++ b/
ovsdb/ovsdb-tool.c
@@
-27,6
+27,7
@@
#include "compiler.h"
#include "dirs.h"
#include "dynamic-string.h"
#include "compiler.h"
#include "dirs.h"
#include "dynamic-string.h"
+#include "fatal-signal.h"
#include "file.h"
#include "lockfile.h"
#include "log.h"
#include "file.h"
#include "lockfile.h"
#include "log.h"
@@
-40,12
+41,10
@@
#include "util.h"
#include "vlog.h"
#include "util.h"
#include "vlog.h"
-VLOG_DEFINE_THIS_MODULE(ovsdb_tool);
-
/* -m, --more: Verbosity level for "show-log" command output. */
static int show_log_verbosity;
/* -m, --more: Verbosity level for "show-log" command output. */
static int show_log_verbosity;
-static const struct command
all_commands[]
;
+static const struct command
*get_all_commands(void)
;
static void usage(void) NO_RETURN;
static void parse_options(int argc, char *argv[]);
static void usage(void) NO_RETURN;
static void parse_options(int argc, char *argv[]);
@@
-58,15
+57,15
@@
main(int argc, char *argv[])
{
set_program_name(argv[0]);
parse_options(argc, argv);
{
set_program_name(argv[0]);
parse_options(argc, argv);
-
signal(SIGPIPE, SIG_IGN
);
- run_command(argc - optind, argv + optind,
all_commands
);
+
fatal_ignore_sigpipe(
);
+ run_command(argc - optind, argv + optind,
get_all_commands()
);
return 0;
}
static void
parse_options(int argc, char *argv[])
{
return 0;
}
static void
parse_options(int argc, char *argv[])
{
- static struct option long_options[] = {
+ static
const
struct option long_options[] = {
{"more", no_argument, NULL, 'm'},
{"verbose", optional_argument, NULL, 'v'},
{"help", no_argument, NULL, 'h'},
{"more", no_argument, NULL, 'm'},
{"verbose", optional_argument, NULL, 'v'},
{"help", no_argument, NULL, 'h'},
@@
-518,12
+517,17
@@
do_show_log(int argc, char *argv[])
date = shash_find_data(json_object(json), "_date");
if (date && date->type == JSON_INTEGER) {
date = shash_find_data(json_object(json), "_date");
if (date && date->type == JSON_INTEGER) {
- time_t t = json_integer(date);
- struct tm tm;
- char s[128];
+ long long int t = json_integer(date);
+ char *s;
+
+ if (t < INT32_MAX) {
+ /* Older versions of ovsdb wrote timestamps in seconds. */
+ t *= 1000;
+ }
- strftime(s, sizeof s, "%Y-%m-%d %H:%M:%S", gmtime_r(&t, &tm));
- printf(" %s", s);
+ s = xastrftime_msec(" %Y-%m-%d %H:%M:%S.###", t, true);
+ fputs(s, stdout);
+ free(s);
}
comment = shash_find_data(json_object(json), "_comment");
}
comment = shash_find_data(json_object(json), "_comment");
@@
-566,3
+570,8
@@
static const struct command all_commands[] = {
{ "help", 0, INT_MAX, do_help },
{ NULL, 0, 0, NULL },
};
{ "help", 0, INT_MAX, do_help },
{ NULL, 0, 0, NULL },
};
+
+static const struct command *get_all_commands(void)
+{
+ return all_commands;
+}