summaryrefslogtreecommitdiffstats
path: root/src/libs/zbxcommon
diff options
context:
space:
mode:
authorosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-06-28 14:35:44 +0000
committerosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-06-28 14:35:44 +0000
commit8c13594d1bb50b44a708dbd3c0acaa19fa340660 (patch)
treefddca3b670cf005baec37c3ce523a3017e301a36 /src/libs/zbxcommon
parent5268a939d762eb782750151c17a58628cab0e9e8 (diff)
downloadzabbix-8c13594d1bb50b44a708dbd3c0acaa19fa340660.tar.gz
zabbix-8c13594d1bb50b44a708dbd3c0acaa19fa340660.tar.xz
zabbix-8c13594d1bb50b44a708dbd3c0acaa19fa340660.zip
- improoved UserParameters for Win32 (Eugene)
git-svn-id: svn://svn.zabbix.com/trunk@4376 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src/libs/zbxcommon')
-rw-r--r--src/libs/zbxcommon/alias.c48
1 files changed, 25 insertions, 23 deletions
diff --git a/src/libs/zbxcommon/alias.c b/src/libs/zbxcommon/alias.c
index 46c4d321..e3df0efe 100644
--- a/src/libs/zbxcommon/alias.c
+++ b/src/libs/zbxcommon/alias.c
@@ -48,43 +48,44 @@ int add_alias_from_config(char *line)
int add_alias(const char *name, const char *value)
{
- ALIAS *alias;
+ ALIAS *alias = NULL;
+
+ assert(name);
+ assert(value);
for(alias = aliasList; ; alias=alias->next)
{
/* Add new parameters */
- if(alias == NULL)
+ if ( NULL == alias )
{
- alias = (ALIAS *)malloc(sizeof(ALIAS));
- if (NULL != alias)
- {
- memset(alias,0,sizeof(ALIAS));
- zbx_strlcpy(alias->name, name, MAX_ALIAS_NAME-1);
- alias->value = (char *)malloc(strlen(value)+1);
- strcpy(alias->value,value);
- alias->next=aliasList;
- aliasList=alias;
-
- zabbix_log( LOG_LEVEL_DEBUG, "Alias added. [%s] -> [%s]", name, value);
- return SUCCEED;
- }
- break;
+ alias = (ALIAS *)zbx_malloc(alias, sizeof(ALIAS));
+ memset(alias,0,sizeof(ALIAS));
+
+ zbx_strlcpy(alias->name, name, MAX_ALIAS_NAME-1);
+
+ alias->value = strdup(value);
+
+ alias->next=aliasList;
+
+ aliasList=alias;
+
+ zabbix_log( LOG_LEVEL_DEBUG, "Alias added. [%s] -> [%s]", name, value);
+ return SUCCEED;
}
/* Replace existing parameters */
if (strcmp(alias->name, name) == 0)
{
- if(alias->value)
- free(alias->value);
+ zbx_free(alias->value);
memset(alias, 0, sizeof(ALIAS));
zbx_strlcpy(alias->name, name, MAX_ALIAS_NAME-1);
-
- alias->value = (char *)malloc(strlen(value)+1);
- strcpy(alias->value, value);
+
+ alias->value = strdup(value);
alias->next = aliasList;
+
aliasList = alias;
zabbix_log( LOG_LEVEL_DEBUG, "Alias replaced. [%s] -> [%s]", name, value);
@@ -105,9 +106,10 @@ void alias_list_free(void)
{
curr = next;
next = curr->next;
- free(curr->value);
- free(curr);
+ zbx_free(curr->value);
+ zbx_free(curr);
}
+ aliasList = NULL;
}
/*