Code

curl_json plugin: warn when config expects a map and a number is provided
[collectd.git] / src / curl_json.c
index 5bc3e4199a39b9ea86243e642226de31acf41f65..ca604fc2b499457e39bcf4541e371b05cb96b8b3 100644 (file)
@@ -218,6 +218,10 @@ static int cj_cb_number (void *ctx,
   int status;
 
   if ((key == NULL) || !CJ_IS_KEY (key)) {
+    if (key != NULL)
+      NOTICE ("curl_json plugin: Found \"%.*s\", but the configuration expects"
+              " a map.", (int)number_len > number_len ? 0 : (int)number_len,
+              number);
     cj_cb_inc_array_index (ctx, 1);
     return (CJ_CB_CONTINUE);
   } else
@@ -269,27 +273,6 @@ static int cj_cb_map_key (void *ctx, const unsigned char *val,
 static int cj_cb_string (void *ctx, const unsigned char *val,
     yajl_len_t len)
 {
-  cj_t *db = (cj_t *)ctx;
-  char str[len + 1];
-
-  cj_cb_inc_array_index (ctx, 1);
-  return (CJ_CB_CONTINUE);
-
-  /* Create a null-terminated version of the string. */
-  memcpy (str, val, len);
-  str[len] = 0;
-
-  /* No configuration for this string -> simply return. */
-  if (db->state[db->depth].key == NULL)
-    return (CJ_CB_CONTINUE);
-
-  if (!CJ_IS_KEY (db->state[db->depth].key))
-  {
-    NOTICE ("curl_json plugin: Found string \"%s\", but the configuration "
-        "expects a map here.", str);
-    return (CJ_CB_CONTINUE);
-  }
-
   /* Handle the string as if it was a number. */
   return (cj_cb_number (ctx, (const char *) val, len));
 } /* int cj_cb_string */