[ovs-dev] [PATCH 5/5] lib/util: Make some functions in util.c inline

Helmut Schaa helmut.schaa at googlemail.com
Fri Dec 13 13:17:17 UTC 2013


str_to_uint, str_to_ulong and str_to_ullong are just wrappers
around the corresponding signed functions. Move these to util.h
and make them inline saving some library exports and letting
the compiler do some more magic.

Signed-off-by: Helmut Schaa <helmut.schaa at googlemail.com>
---
 lib/util.c | 18 ------------------
 lib/util.h | 21 ++++++++++++++++++---
 2 files changed, 18 insertions(+), 21 deletions(-)

diff --git a/lib/util.c b/lib/util.c
index 000504c..0227822 100644
--- a/lib/util.c
+++ b/lib/util.c
@@ -537,24 +537,6 @@ str_to_llong(const char *s, int base, long long *x)
     }
 }
 
-bool
-str_to_uint(const char *s, int base, unsigned int *u)
-{
-    return str_to_int(s, base, (int *) u);
-}
-
-bool
-str_to_ulong(const char *s, int base, unsigned long *ul)
-{
-    return str_to_long(s, base, (long *) ul);
-}
-
-bool
-str_to_ullong(const char *s, int base, unsigned long long *ull)
-{
-    return str_to_llong(s, base, (long long *) ull);
-}
-
 /* Converts floating-point string 's' into a double.  If successful, stores
  * the double in '*d' and returns true; on failure, stores 0 in '*d' and
  * returns false.
diff --git a/lib/util.h b/lib/util.h
index b5ab0a2..704a54c 100644
--- a/lib/util.h
+++ b/lib/util.h
@@ -282,9 +282,24 @@ void ovs_hex_dump(FILE *, const void *, size_t, uintptr_t offset, bool ascii);
 bool str_to_int(const char *, int base, int *);
 bool str_to_long(const char *, int base, long *);
 bool str_to_llong(const char *, int base, long long *);
-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 *);
+
+static inline bool
+str_to_uint(const char *s, int base, unsigned int *u)
+{
+    return str_to_int(s, base, (int *) u);
+}
+
+static inline bool
+str_to_ulong(const char *s, int base, unsigned long *ul)
+{
+    return str_to_long(s, base, (long *) ul);
+}
+
+static inline bool
+str_to_ullong(const char *s, int base, unsigned long long *ull)
+{
+    return str_to_llong(s, base, (long long *) ull);
+}
 
 bool ovs_scan(const char *s, const char *template, ...) SCANF_FORMAT(2, 3);
 
-- 
1.8.1.4




More information about the dev mailing list