Code

Move utils_parse_option.[ch] out of the daemon/ directory.
authorFlorian Forster <octo@collectd.org>
Sat, 20 Sep 2014 05:18:03 +0000 (07:18 +0200)
committerFlorian Forster <octo@collectd.org>
Sat, 20 Sep 2014 05:18:03 +0000 (07:18 +0200)
src/Makefile.am
src/daemon/Makefile.am
src/daemon/utils_parse_option.c [deleted file]
src/daemon/utils_parse_option.h [deleted file]
src/tokyotyrant.c
src/utils_format_graphite.c
src/utils_parse_option.c [new file with mode: 0644]
src/utils_parse_option.h [new file with mode: 0644]
src/write_graphite.c

index b3bd26ed6e172b42a22de56de6eb4e06795adf7a..16f458e14172ebd2edeecf7beb1639ceceb81099 100644 (file)
@@ -333,7 +333,8 @@ if BUILD_PLUGIN_EXEC
 pkglib_LTLIBRARIES += exec.la
 exec_la_SOURCES = exec.c \
                  utils_cmd_putnotif.c utils_cmd_putnotif.h \
-                 utils_cmd_putval.c utils_cmd_putval.h
+                 utils_cmd_putval.c utils_cmd_putval.h \
+                 utils_parse_option.h utils_parse_option.c
 exec_la_LDFLAGS = -module -avoid-version
 exec_la_LIBADD = -lpthread
 endif
@@ -1042,7 +1043,8 @@ unixsock_la_SOURCES = unixsock.c \
                      utils_cmd_getthreshold.h utils_cmd_getthreshold.c \
                      utils_cmd_listval.h utils_cmd_listval.c \
                      utils_cmd_putval.h utils_cmd_putval.c \
-                     utils_cmd_putnotif.h utils_cmd_putnotif.c
+                     utils_cmd_putnotif.h utils_cmd_putnotif.c \
+                     utils_parse_option.h utils_parse_option.c
 unixsock_la_LDFLAGS = -module -avoid-version
 unixsock_la_LIBADD = -lpthread
 endif
index c40107791438712a093662e972d1c8e32b269b43..d6067d7baf49f97ecd5a7b6314d7db9379676f9c 100644 (file)
@@ -27,7 +27,6 @@ collectd_SOURCES = collectd.c collectd.h \
                   utils_complain.c utils_complain.h \
                   utils_heap.c utils_heap.h \
                   utils_llist.c utils_llist.h \
-                  utils_parse_option.c utils_parse_option.h \
                   utils_random.c utils_random.h \
                   utils_tail_match.c utils_tail_match.h \
                   utils_match.c utils_match.h \
diff --git a/src/daemon/utils_parse_option.c b/src/daemon/utils_parse_option.c
deleted file mode 100644 (file)
index 7f06f29..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-/**
- * collectd - src/utils_parse_option.c
- * Copyright (C) 2008       Florian Forster
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *   Florian octo Forster <octo at collectd.org>
- **/
-
-#include "collectd.h"
-#include "common.h"
-#include "plugin.h"
-#include "utils_parse_option.h"
-
-int parse_string (char **ret_buffer, char **ret_string)
-{
-  char *buffer;
-  char *string;
-
-  buffer = *ret_buffer;
-
-  /* Eat up leading spaces. */
-  string = buffer;
-  while (isspace ((int) *string))
-    string++;
-  if (*string == 0)
-    return (1);
-
-  /* A quoted string */
-  if (*string == '"')
-  {
-    char *dst;
-
-    string++;
-    if (*string == 0)
-      return (1);
-
-    dst = string;
-    buffer = string;
-    while ((*buffer != '"') && (*buffer != 0))
-    {
-      /* Un-escape backslashes */
-      if (*buffer == '\\')
-      {
-        buffer++;
-        /* Catch a backslash at the end of buffer */
-        if (*buffer == 0)
-          return (-1);
-      }
-      *dst = *buffer;
-      buffer++;
-      dst++;
-    }
-    /* No quote sign has been found */
-    if (*buffer == 0)
-      return (-1);
-
-    *dst = 0;
-    dst++;
-    *buffer = 0;
-    buffer++;
-
-    /* Check for trailing spaces. */
-    if ((*buffer != 0) && !isspace ((int) *buffer))
-      return (-1);
-  }
-  else /* an unquoted string */
-  {
-    buffer = string;
-    while ((*buffer != 0) && !isspace ((int) *buffer))
-      buffer++;
-    if (*buffer != 0)
-    {
-      *buffer = 0;
-      buffer++;
-    }
-  }
-  
-  /* Eat up trailing spaces */
-  while (isspace ((int) *buffer))
-    buffer++;
-
-  *ret_buffer = buffer;
-  *ret_string = string;
-
-  return (0);
-} /* int parse_string */
-
-/*
- * parse_option
- * ------------
- *  Parses an ``option'' as used with the unixsock and exec commands. An
- *  option is of the form:
- *    name0="value"
- *    name1="value with \"quotes\""
- *    name2="value \\ backslash"
- *  However, if the value does *not* contain a space character, you can skip
- *  the quotes.
- */
-int parse_option (char **ret_buffer, char **ret_key, char **ret_value)
-{
-  char *buffer;
-  char *key;
-  char *value;
-  int status;
-
-  buffer = *ret_buffer;
-
-  /* Eat up leading spaces */
-  key = buffer;
-  while (isspace ((int) *key))
-    key++;
-  if (*key == 0)
-    return (1);
-
-  /* Look for the equal sign */
-  buffer = key;
-  while (isalnum ((int) *buffer) || *buffer == '_' || *buffer == ':')
-    buffer++;
-  if ((*buffer != '=') || (buffer == key))
-    return (1);
-  *buffer = 0;
-  buffer++;
-  /* Empty values must be written as "" */
-  if (isspace ((int) *buffer) || (*buffer == 0))
-    return (-1);
-
-  status = parse_string (&buffer, &value);
-  if (status != 0)
-    return (-1);
-
-  /* NB: parse_string will have eaten up all trailing spaces. */
-
-  *ret_buffer = buffer;
-  *ret_key = key;
-  *ret_value = value;
-
-  return (0);
-} /* int parse_option */
-
-/* vim: set sw=2 ts=8 tw=78 et : */
diff --git a/src/daemon/utils_parse_option.h b/src/daemon/utils_parse_option.h
deleted file mode 100644 (file)
index 885a6a3..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * collectd - src/utils_parse_option.h
- * Copyright (C) 2008       Florian Forster
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *   Florian octo Forster <octo at collectd.org>
- **/
-
-#ifndef UTILS_PARSE_OPTION
-#define UTILS_PARSE_OPTION 1
-
-int parse_string (char **ret_buffer, char **ret_string);
-int parse_option (char **ret_buffer, char **ret_key, char **ret_value);
-
-#endif /* UTILS_PARSE_OPTION */
-
-/* vim: set sw=2 ts=8 tw=78 et : */
index 678a341c1ceeaf15f24a708d12567c1b8ed92f15..7fa621bfa4e9d9d0ea4cd196e80c7bcd9b42c957 100644 (file)
@@ -23,7 +23,6 @@
 #include "plugin.h"
 #include "common.h"
 #include "utils_cache.h"
-#include "utils_parse_option.h"
 
 #include <tcrdb.h>
 
index b7d4494d3ed0fda8d6ad9a17cca5193ffdae911b..220258f40c6122ede7178d71247b484eb74fcab2 100644 (file)
@@ -27,7 +27,6 @@
 
 #include "utils_format_graphite.h"
 #include "utils_cache.h"
-#include "utils_parse_option.h"
 
 #define GRAPHITE_FORBIDDEN " \t\"\\:!/()\n\r"
 
diff --git a/src/utils_parse_option.c b/src/utils_parse_option.c
new file mode 100644 (file)
index 0000000..7f06f29
--- /dev/null
@@ -0,0 +1,158 @@
+/**
+ * collectd - src/utils_parse_option.c
+ * Copyright (C) 2008       Florian Forster
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Authors:
+ *   Florian octo Forster <octo at collectd.org>
+ **/
+
+#include "collectd.h"
+#include "common.h"
+#include "plugin.h"
+#include "utils_parse_option.h"
+
+int parse_string (char **ret_buffer, char **ret_string)
+{
+  char *buffer;
+  char *string;
+
+  buffer = *ret_buffer;
+
+  /* Eat up leading spaces. */
+  string = buffer;
+  while (isspace ((int) *string))
+    string++;
+  if (*string == 0)
+    return (1);
+
+  /* A quoted string */
+  if (*string == '"')
+  {
+    char *dst;
+
+    string++;
+    if (*string == 0)
+      return (1);
+
+    dst = string;
+    buffer = string;
+    while ((*buffer != '"') && (*buffer != 0))
+    {
+      /* Un-escape backslashes */
+      if (*buffer == '\\')
+      {
+        buffer++;
+        /* Catch a backslash at the end of buffer */
+        if (*buffer == 0)
+          return (-1);
+      }
+      *dst = *buffer;
+      buffer++;
+      dst++;
+    }
+    /* No quote sign has been found */
+    if (*buffer == 0)
+      return (-1);
+
+    *dst = 0;
+    dst++;
+    *buffer = 0;
+    buffer++;
+
+    /* Check for trailing spaces. */
+    if ((*buffer != 0) && !isspace ((int) *buffer))
+      return (-1);
+  }
+  else /* an unquoted string */
+  {
+    buffer = string;
+    while ((*buffer != 0) && !isspace ((int) *buffer))
+      buffer++;
+    if (*buffer != 0)
+    {
+      *buffer = 0;
+      buffer++;
+    }
+  }
+  
+  /* Eat up trailing spaces */
+  while (isspace ((int) *buffer))
+    buffer++;
+
+  *ret_buffer = buffer;
+  *ret_string = string;
+
+  return (0);
+} /* int parse_string */
+
+/*
+ * parse_option
+ * ------------
+ *  Parses an ``option'' as used with the unixsock and exec commands. An
+ *  option is of the form:
+ *    name0="value"
+ *    name1="value with \"quotes\""
+ *    name2="value \\ backslash"
+ *  However, if the value does *not* contain a space character, you can skip
+ *  the quotes.
+ */
+int parse_option (char **ret_buffer, char **ret_key, char **ret_value)
+{
+  char *buffer;
+  char *key;
+  char *value;
+  int status;
+
+  buffer = *ret_buffer;
+
+  /* Eat up leading spaces */
+  key = buffer;
+  while (isspace ((int) *key))
+    key++;
+  if (*key == 0)
+    return (1);
+
+  /* Look for the equal sign */
+  buffer = key;
+  while (isalnum ((int) *buffer) || *buffer == '_' || *buffer == ':')
+    buffer++;
+  if ((*buffer != '=') || (buffer == key))
+    return (1);
+  *buffer = 0;
+  buffer++;
+  /* Empty values must be written as "" */
+  if (isspace ((int) *buffer) || (*buffer == 0))
+    return (-1);
+
+  status = parse_string (&buffer, &value);
+  if (status != 0)
+    return (-1);
+
+  /* NB: parse_string will have eaten up all trailing spaces. */
+
+  *ret_buffer = buffer;
+  *ret_key = key;
+  *ret_value = value;
+
+  return (0);
+} /* int parse_option */
+
+/* vim: set sw=2 ts=8 tw=78 et : */
diff --git a/src/utils_parse_option.h b/src/utils_parse_option.h
new file mode 100644 (file)
index 0000000..885a6a3
--- /dev/null
@@ -0,0 +1,35 @@
+/**
+ * collectd - src/utils_parse_option.h
+ * Copyright (C) 2008       Florian Forster
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Authors:
+ *   Florian octo Forster <octo at collectd.org>
+ **/
+
+#ifndef UTILS_PARSE_OPTION
+#define UTILS_PARSE_OPTION 1
+
+int parse_string (char **ret_buffer, char **ret_string);
+int parse_option (char **ret_buffer, char **ret_key, char **ret_value);
+
+#endif /* UTILS_PARSE_OPTION */
+
+/* vim: set sw=2 ts=8 tw=78 et : */
index 5c7bbd553a2dbeb79b51fe6625c41dcd83f0a215..d3d520279bf95dd0f8edb24687ea0d490426a503 100644 (file)
@@ -49,7 +49,6 @@
 
 #include "utils_cache.h"
 #include "utils_complain.h"
-#include "utils_parse_option.h"
 #include "utils_format_graphite.h"
 
 /* Folks without pthread will need to disable this plugin. */