projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Describe dummy test model. Work on OpenFlow intro.
[openvswitch]
/
lib
/
command-line.c
diff --git
a/lib/command-line.c
b/lib/command-line.c
index 23ed53fb48f78c02634da1285ad5bf1a38410476..b881c042ada693eece3e3d59079d491aaabcbbb6 100644
(file)
--- a/
lib/command-line.c
+++ b/
lib/command-line.c
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (c) 2008, 2009, 2010
Nicira Networks
.
+ * Copyright (c) 2008, 2009, 2010
, 2011 Nicira, Inc
.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@
-20,6
+20,9
@@
#include <limits.h>
#include <stdlib.h>
#include "util.h"
#include <limits.h>
#include <stdlib.h>
#include "util.h"
+#include "vlog.h"
+
+VLOG_DEFINE_THIS_MODULE(command_line);
/* Given the GNU-style long options in 'options', returns a string that may be
* passed to getopt() with the corresponding short options. The caller is
/* Given the GNU-style long options in 'options', returns a string that may be
* passed to getopt() with the corresponding short options. The caller is
@@
-66,30
+69,30
@@
run_command(int argc, char *argv[], const struct command commands[])
if (!strcmp(p->name, argv[0])) {
int n_arg = argc - 1;
if (n_arg < p->min_args) {
if (!strcmp(p->name, argv[0])) {
int n_arg = argc - 1;
if (n_arg < p->min_args) {
-
ovs_fatal(0,
"'%s' command requires at least %d arguments",
- p->name, p->min_args);
+
VLOG_FATAL(
"'%s' command requires at least %d arguments",
+
p->name, p->min_args);
} else if (n_arg > p->max_args) {
} else if (n_arg > p->max_args) {
-
ovs_fatal(0,
"'%s' command takes at most %d arguments",
- p->name, p->max_args);
+
VLOG_FATAL(
"'%s' command takes at most %d arguments",
+
p->name, p->max_args);
} else {
p->handler(argc, argv);
if (ferror(stdout)) {
} else {
p->handler(argc, argv);
if (ferror(stdout)) {
-
ovs_fatal(0,
"write to stdout failed");
+
VLOG_FATAL(
"write to stdout failed");
}
if (ferror(stderr)) {
}
if (ferror(stderr)) {
-
ovs_fatal(0,
"write to stderr failed");
+
VLOG_FATAL(
"write to stderr failed");
}
return;
}
}
}
}
return;
}
}
}
-
ovs_fatal(0,
"unknown command '%s'; use --help for help", argv[0]);
+
VLOG_FATAL(
"unknown command '%s'; use --help for help", argv[0]);
}
\f
/* Process title. */
}
\f
/* Process title. */
-#ifdef
__linux__
+#ifdef
LINUX_DATAPATH
static char *argv_start; /* Start of command-line arguments in memory. */
static size_t argv_size; /* Number of bytes of command-line arguments. */
static char *saved_proctitle; /* Saved command-line arguments. */
static char *argv_start; /* Start of command-line arguments in memory. */
static size_t argv_size; /* Number of bytes of command-line arguments. */
static char *saved_proctitle; /* Saved command-line arguments. */
@@
-137,8
+140,8
@@
proctitle_init(int argc, char **argv)
}
}
}
}
-/* Changes the name of the process, as shown by "ps", to
'format', which is
- * formatted as if by printf(). */
+/* Changes the name of the process, as shown by "ps", to
the program name
+ * fo
llowed by 'format', which is fo
rmatted as if by printf(). */
void
proctitle_set(const char *format, ...)
{
void
proctitle_set(const char *format, ...)
{
@@
-154,7
+157,10
@@
proctitle_set(const char *format, ...)
}
va_start(args, format);
}
va_start(args, format);
- n = vsnprintf(argv_start, argv_size, format, args);
+ n = snprintf(argv_start, argv_size, "%s: ", program_name);
+ if (n < argv_size) {
+ n += vsnprintf(argv_start + n, argv_size - n, format, args);
+ }
if (n >= argv_size) {
/* The name is too long, so add an ellipsis at the end. */
strcpy(&argv_start[argv_size - 4], "...");
if (n >= argv_size) {
/* The name is too long, so add an ellipsis at the end. */
strcpy(&argv_start[argv_size - 4], "...");
@@
-176,7
+182,7
@@
proctitle_restore(void)
saved_proctitle = NULL;
}
}
saved_proctitle = NULL;
}
}
-#else /* !
__linux__
*/
+#else /* !
LINUX_DATAPATH
*/
/* Stubs that don't do anything on non-Linux systems. */
void
/* Stubs that don't do anything on non-Linux systems. */
void
@@
-184,13
+190,16
@@
proctitle_init(int argc OVS_UNUSED, char **argv OVS_UNUSED)
{
}
{
}
+#ifndef __FreeBSD__
+/* On FreeBSD we #define this to setproctitle. */
void
proctitle_set(const char *format OVS_UNUSED, ...)
{
}
void
proctitle_set(const char *format OVS_UNUSED, ...)
{
}
+#endif
void
proctitle_restore(void)
{
}
void
proctitle_restore(void)
{
}
-#endif /* !
__linux__
*/
+#endif /* !
LINUX_DATAPATH
*/