Merge branch 'ff/genericjmx'
[collectd.git] / src / utils_cache.c
index 3577ac6..2505b55 100644 (file)
@@ -98,6 +98,7 @@ static cache_entry_t *cache_alloc (int values_num)
 
   ce->history = NULL;
   ce->history_length = 0;
+  ce->meta = NULL;
 
   return (ce);
 } /* cache_entry_t *cache_alloc */
@@ -110,6 +111,11 @@ static void cache_free (cache_entry_t *ce)
   sfree (ce->values_gauge);
   sfree (ce->values_raw);
   sfree (ce->history);
+  if (ce->meta != NULL)
+  {
+    meta_data_destroy (ce->meta);
+    ce->meta = NULL;
+  }
   sfree (ce);
 } /* void cache_free */
 
@@ -879,7 +885,7 @@ int uc_get_history (const data_set_t *ds, const value_list_t *vl,
  * Meta data interface
  */
 /* XXX: This function will acquire `cache_lock' but will not free it! */
-static meta_data_t *uc_get_meta (value_list_t *vl) /* {{{ */
+static meta_data_t *uc_get_meta (const value_list_t *vl) /* {{{ */
 {
   char name[6 * DATA_MAX_NAME_LEN];
   cache_entry_t *ce = NULL;
@@ -898,7 +904,6 @@ static meta_data_t *uc_get_meta (value_list_t *vl) /* {{{ */
   if (status != 0)
   {
     pthread_mutex_unlock (&cache_lock);
-    NOTICE ("utils_cache: uc_get_meta: No such cache entry: %s", name);
     return (NULL);
   }
   assert (ce != NULL);
@@ -920,10 +925,10 @@ static meta_data_t *uc_get_meta (value_list_t *vl) /* {{{ */
   pthread_mutex_unlock (&cache_lock); \
   return (status); \
 }
-int uc_meta_data_exists (value_list_t *vl, const char *key)
+int uc_meta_data_exists (const value_list_t *vl, const char *key)
   UC_WRAP (meta_data_exists)
 
-int uc_meta_data_delete (value_list_t *vl, const char *key)
+int uc_meta_data_delete (const value_list_t *vl, const char *key)
   UC_WRAP (meta_data_delete)
 #undef UC_WRAP
 
@@ -938,44 +943,44 @@ int uc_meta_data_delete (value_list_t *vl, const char *key)
   pthread_mutex_unlock (&cache_lock); \
   return (status); \
 }
-int uc_meta_data_add_string (value_list_t *vl,
+int uc_meta_data_add_string (const value_list_t *vl,
     const char *key,
     const char *value)
   UC_WRAP(meta_data_add_string)
-int uc_meta_data_add_signed_int (value_list_t *vl,
+int uc_meta_data_add_signed_int (const value_list_t *vl,
     const char *key,
     int64_t value)
   UC_WRAP(meta_data_add_signed_int)
-int uc_meta_data_add_unsigned_int (value_list_t *vl,
+int uc_meta_data_add_unsigned_int (const value_list_t *vl,
     const char *key,
     uint64_t value)
   UC_WRAP(meta_data_add_unsigned_int)
-int uc_meta_data_add_double (value_list_t *vl,
+int uc_meta_data_add_double (const value_list_t *vl,
     const char *key,
     double value)
   UC_WRAP(meta_data_add_double)
-int uc_meta_data_add_boolean (value_list_t *vl,
+int uc_meta_data_add_boolean (const value_list_t *vl,
     const char *key,
     _Bool value)
   UC_WRAP(meta_data_add_boolean)
 
-int uc_meta_data_get_string (value_list_t *vl,
+int uc_meta_data_get_string (const value_list_t *vl,
     const char *key,
     char **value)
   UC_WRAP(meta_data_get_string)
-int uc_meta_data_get_signed_int (value_list_t *vl,
+int uc_meta_data_get_signed_int (const value_list_t *vl,
     const char *key,
     int64_t *value)
   UC_WRAP(meta_data_get_signed_int)
-int uc_meta_data_get_unsigned_int (value_list_t *vl,
+int uc_meta_data_get_unsigned_int (const value_list_t *vl,
     const char *key,
     uint64_t *value)
   UC_WRAP(meta_data_get_unsigned_int)
-int uc_meta_data_get_double (value_list_t *vl,
+int uc_meta_data_get_double (const value_list_t *vl,
     const char *key,
     double *value)
   UC_WRAP(meta_data_get_double)
-int uc_meta_data_get_boolean (value_list_t *vl,
+int uc_meta_data_get_boolean (const value_list_t *vl,
     const char *key,
     _Bool *value)
   UC_WRAP(meta_data_get_boolean)