summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorsasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-11-01 10:10:02 +0000
committersasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-11-01 10:10:02 +0000
commitfd04e0ff7d077661c092f9c3066b3f850cd48eee (patch)
tree080ab313fc4c2a100c752960fc85e33ad9d1e15a /src
parent5d4cf5c68822f6cca3241cf88a5b383fe09df923 (diff)
- [NTT-40] Commas needed in brackets
git-svn-id: svn://svn.zabbix.com/trunk@4960 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src')
-rw-r--r--src/zabbix_agent/active.c40
1 files changed, 17 insertions, 23 deletions
diff --git a/src/zabbix_agent/active.c b/src/zabbix_agent/active.c
index d252c759..1b231126 100644
--- a/src/zabbix_agent/active.c
+++ b/src/zabbix_agent/active.c
@@ -391,8 +391,8 @@ static int process_active_checks(char *server, unsigned short port)
unsigned short severity;
char params[MAX_STRING_LEN];
- char *filename;
- char *pattern;
+ char filename[MAX_STRING_LEN];
+ char pattern[MAX_STRING_LEN];
AGENT_RESULT result;
@@ -411,28 +411,25 @@ static int process_active_checks(char *server, unsigned short port)
if(strncmp(active_metrics[i].key,"log[",4) == 0)
{
do{ /* simple try realization */
- if(parse_command(active_metrics[i].key, NULL, 0, params, MAX_STRING_LEN) != 2)
+ if (parse_command(active_metrics[i].key, NULL, 0, params, MAX_STRING_LEN) != 2)
break;
- if(num_param(params) > 2)
+ if (num_param(params) > 2)
break;
- filename = params;
+ if (get_param(params, 1, filename, sizeof(filename)) != 0)
+ break;
- if( (pattern = strchr(params, ',')) ) /* TODO: rewrite for get_param */
- {
+ if (get_param(params, 2, pattern, sizeof(pattern)) != 0)
*pattern = '\0';
- pattern++;
- }
s_count = 0;
p_count = 0;
- while( SUCCEED == (ret = process_log(filename, &active_metrics[i].lastlogsize, &value)) )
- {
- if( !value ) /* EOF */ break;
+ while (SUCCEED == (ret = process_log(filename, &active_metrics[i].lastlogsize, &value))) {
+ if (!value) /* EOF */
+ break;
- if( !pattern || NULL != zbx_regexp_match(value, pattern, NULL) )
- {
+ if ('\0' == *pattern || NULL != zbx_regexp_match(value, pattern, NULL)) {
send_err = send_value(
server,
port,
@@ -483,26 +480,23 @@ static int process_active_checks(char *server, unsigned short port)
else if(strncmp(active_metrics[i].key,"eventlog[",9) == 0)
{
do{ /* simple try realization */
- if(parse_command(active_metrics[i].key, NULL, 0, params, MAX_STRING_LEN) != 2)
+ if (parse_command(active_metrics[i].key, NULL, 0, params, MAX_STRING_LEN) != 2)
break;
- if(num_param(params) > 2)
+ if (num_param(params) > 2)
break;
- filename = params;
+ if (get_param(params, 1, filename, sizeof(filename)) != 0)
+ break;
- if( (pattern = strchr(params, ',')) )
- {
+ if (get_param(params, 2, pattern, sizeof(pattern)) != 0)
*pattern = '\0';
- pattern++;
- }
s_count = 0;
p_count = 0;
while( SUCCEED == (ret = process_eventlog(filename,&active_metrics[i].lastlogsize, &timestamp, &source, &severity, &value)) )
{
- if( value && (!pattern || NULL != zbx_regexp_match(value, pattern, NULL)) )
- {
+ if (value && ('\0' == *pattern || NULL != zbx_regexp_match(value, pattern, NULL))) {
send_err = send_value(
server,
port,