[ovs-dev] [PATCH] Update openvswitch to allow linking from C++ projects
Harold Lim
haroldl at vmware.com
Tue Dec 17 02:57:40 UTC 2013
1. libopenvswitch is updated to be compiled with -fPIC.
2. The input variable of ovs_scan is changed from 'template' to
'format'. template is a keyword in C++.
3. Add an #ifndef guard around NOT_REACHED.
---
lib/automake.mk | 4 ++++
lib/util.c | 8 ++++----
lib/util.h | 4 +++-
3 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/lib/automake.mk b/lib/automake.mk
index fadc4be..c25b4dc 100644
--- a/lib/automake.mk
+++ b/lib/automake.mk
@@ -231,6 +231,10 @@ lib_libopenvswitch_a_SOURCES = \
lib/vtep-idl.c \
lib/vtep-idl.h
+lib_libopenvswitch_a_CFLAGS = \
+ $(AM_CFLAGS) \
+ -fPIC
+
nodist_lib_libopenvswitch_a_SOURCES = \
lib/dirs.c
CLEANFILES += $(nodist_lib_libopenvswitch_a_SOURCES)
diff --git a/lib/util.c b/lib/util.c
index 13d41a7..e12a488 100644
--- a/lib/util.c
+++ b/lib/util.c
@@ -1483,7 +1483,7 @@ scan_chars(const char *s, const struct scan_spec *spec, va_list *args)
/* This is an implementation of the standard sscanf() function, with the
* following exceptions:
*
- * - It returns true if the entire template was successfully scanned and
+ * - It returns true if the entire format was successfully scanned and
* converted, false if any conversion failed.
*
* - The standard doesn't define sscanf() behavior when an out-of-range value
@@ -1500,15 +1500,15 @@ scan_chars(const char *s, const struct scan_spec *spec, va_list *args)
* - %p is not supported.
*/
bool
-ovs_scan(const char *s, const char *template, ...)
+ovs_scan(const char *s, const char *format, ...)
{
const char *const start = s;
bool ok = false;
const char *p;
va_list args;
- va_start(args, template);
- p = template;
+ va_start(args, format);
+ p = format;
while (*p != '\0') {
struct scan_spec spec;
unsigned char c = *p++;
diff --git a/lib/util.h b/lib/util.h
index 8d810c2..1680cd6 100644
--- a/lib/util.h
+++ b/lib/util.h
@@ -150,7 +150,9 @@ is_pow2(uintmax_t x)
#define MAX(X, Y) ((X) > (Y) ? (X) : (Y))
#endif
+#ifndef NOT_REACHED
#define NOT_REACHED() abort()
+#endif
/* Expands to a string that looks like "<file>:<line>", e.g. "tmp.c:10".
*
@@ -281,7 +283,7 @@ bool str_to_uint(const char *, int base, unsigned int *);
bool str_to_ulong(const char *, int base, unsigned long *);
bool str_to_ullong(const char *, int base, unsigned long long *);
-bool ovs_scan(const char *s, const char *template, ...) SCANF_FORMAT(2, 3);
+bool ovs_scan(const char *s, const char *format, ...) SCANF_FORMAT(2, 3);
bool str_to_double(const char *, double *);
--
1.7.9.5
More information about the dev
mailing list