diff options
| author | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-06-28 14:35:44 +0000 |
|---|---|---|
| committer | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-06-28 14:35:44 +0000 |
| commit | 8c13594d1bb50b44a708dbd3c0acaa19fa340660 (patch) | |
| tree | fddca3b670cf005baec37c3ce523a3017e301a36 /src/libs/zbxcommon | |
| parent | 5268a939d762eb782750151c17a58628cab0e9e8 (diff) | |
| download | zabbix-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.c | 48 |
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; } /* |
