From 9f1edc0d06f42917c331199b67843f5201496514 Mon Sep 17 00:00:00 2001 From: Florian Forster Date: Mon, 14 Jun 2010 23:19:13 +0200 Subject: [PATCH 1/1] graph_ident.[ch]: Add ident_get_* methods. --- graph_ident.c | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- graph_ident.h | 11 +++++++ 2 files changed, 102 insertions(+), 3 deletions(-) diff --git a/graph_ident.c b/graph_ident.c index 7b57f5d..fb6e206 100644 --- a/graph_ident.c +++ b/graph_ident.c @@ -1,14 +1,12 @@ #include #include #include +#include #include /* PATH_MAX */ #include "graph_ident.h" #include "common.h" -#define ANY_TOKEN "/any/" -#define ALL_TOKEN "/all/" - #define IS_ANY(str) (((str) != NULL) && (strcasecmp (ANY_TOKEN, (str)) == 0)) #define IS_ALL(str) (((str) != NULL) && (strcasecmp (ALL_TOKEN, (str)) == 0)) @@ -199,6 +197,7 @@ void ident_destroy (graph_ident_t *ident) /* {{{ */ free (ident); } /* }}} void ident_destroy */ +/* ident_get_* methods {{{ */ const char *ident_get_host (graph_ident_t *ident) /* {{{ */ { if (ident == NULL) @@ -238,6 +237,95 @@ const char *ident_get_type_instance (graph_ident_t *ident) /* {{{ */ return (ident->type_instance); } /* }}} char *ident_get_type_instance */ +/* }}} ident_get_* methods */ + +/* ident_set_* methods {{{ */ +int ident_set_host (graph_ident_t *ident, const char *host) /* {{{ */ +{ + char *tmp; + + if ((ident == NULL) || (host == NULL)) + return (EINVAL); + + tmp = strdup (host); + if (tmp == NULL) + return (ENOMEM); + + free (ident->host); + ident->host = tmp; + + return (0); +} /* }}} int ident_set_host */ + +int ident_set_plugin (graph_ident_t *ident, const char *plugin) /* {{{ */ +{ + char *tmp; + + if ((ident == NULL) || (plugin == NULL)) + return (EINVAL); + + tmp = strdup (plugin); + if (tmp == NULL) + return (ENOMEM); + + free (ident->plugin); + ident->plugin = tmp; + + return (0); +} /* }}} int ident_set_plugin */ + +int ident_set_plugin_instance (graph_ident_t *ident, const char *plugin_instance) /* {{{ */ +{ + char *tmp; + + if ((ident == NULL) || (plugin_instance == NULL)) + return (EINVAL); + + tmp = strdup (plugin_instance); + if (tmp == NULL) + return (ENOMEM); + + free (ident->plugin_instance); + ident->plugin_instance = tmp; + + return (0); +} /* }}} int ident_set_plugin_instance */ + +int ident_set_type (graph_ident_t *ident, const char *type) /* {{{ */ +{ + char *tmp; + + if ((ident == NULL) || (type == NULL)) + return (EINVAL); + + tmp = strdup (type); + if (tmp == NULL) + return (ENOMEM); + + free (ident->type); + ident->type = tmp; + + return (0); +} /* }}} int ident_set_type */ + +int ident_set_type_instance (graph_ident_t *ident, const char *type_instance) /* {{{ */ +{ + char *tmp; + + if ((ident == NULL) || (type_instance == NULL)) + return (EINVAL); + + tmp = strdup (type_instance); + if (tmp == NULL) + return (ENOMEM); + + free (ident->type_instance); + ident->type_instance = tmp; + + return (0); +} /* }}} int ident_set_type_instance */ + +/* }}} ident_set_* methods */ int ident_compare (const graph_ident_t *i0, /* {{{ */ const graph_ident_t *i1) diff --git a/graph_ident.h b/graph_ident.h index abc451d..442bcfe 100644 --- a/graph_ident.h +++ b/graph_ident.h @@ -1,6 +1,9 @@ #ifndef GRAPH_IDENT_H #define GRAPH_IDENT_H 1 +#define ANY_TOKEN "/any/" +#define ALL_TOKEN "/all/" + struct graph_ident_s; typedef struct graph_ident_s graph_ident_t; @@ -22,6 +25,14 @@ const char *ident_get_plugin_instance (graph_ident_t *ident); const char *ident_get_type (graph_ident_t *ident); const char *ident_get_type_instance (graph_ident_t *ident); +int ident_set_host (graph_ident_t *ident, const char *host); +int ident_set_plugin (graph_ident_t *ident, const char *plugin); +int ident_set_plugin_instance (graph_ident_t *ident, + const char *plugin_instance); +int ident_set_type (graph_ident_t *ident, const char *type); +int ident_set_type_instance (graph_ident_t *ident, + const char *type_instance); + int ident_compare (const graph_ident_t *i0, const graph_ident_t *i1); -- 2.11.0