plugin util: add set_plugin_long function
authorFerry Huberts <ferry.huberts@pelagic.nl>
Thu, 7 Apr 2016 19:31:23 +0000 (21:31 +0200)
committerFerry Huberts <ferry.huberts@pelagic.nl>
Thu, 7 Apr 2016 19:31:37 +0000 (21:31 +0200)
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
src/plugin_util.c
src/plugin_util.h

index d6140eb..d67abba 100644 (file)
@@ -125,6 +125,25 @@ set_plugin_int(const char *value, void *data, set_plugin_parameter_addon addon _
   return 0;
 }
 
+int
+set_plugin_long(const char *value, void *data, set_plugin_parameter_addon addon __attribute__ ((unused)))
+{
+  char *endptr;
+  const long thelong = strtol(value, &endptr, 0);
+  if (*endptr != '\0' || endptr == value) {
+    OLSR_PRINTF(0, "Illegal long \"%s\"", value);
+    return 1;
+  }
+  if (data != NULL) {
+    long *v = data;
+    *v = thelong;
+    OLSR_PRINTF(1, "%s long %ld\n", "Got", thelong);
+  } else {
+    OLSR_PRINTF(0, "%s long %ld\n", "Ignored", thelong);
+  }
+  return 0;
+}
+
 int
 set_plugin_string(const char *value, void *data, set_plugin_parameter_addon addon)
 {
index 90a0ee1..c04459b 100644 (file)
@@ -44,6 +44,7 @@ extern set_plugin_parameter set_plugin_port;
 extern set_plugin_parameter set_plugin_ipaddress;
 extern set_plugin_parameter set_plugin_boolean;
 extern set_plugin_parameter set_plugin_int;
+extern set_plugin_parameter set_plugin_long;
 extern set_plugin_parameter set_plugin_string;
 
 #endif /* _OLSRD_PLUGIN_UTIL */