diff options
| author | sasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-11-01 10:10:02 +0000 |
|---|---|---|
| committer | sasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-11-01 10:10:02 +0000 |
| commit | fd04e0ff7d077661c092f9c3066b3f850cd48eee (patch) | |
| tree | 080ab313fc4c2a100c752960fc85e33ad9d1e15a /src | |
| parent | 5d4cf5c68822f6cca3241cf88a5b383fe09df923 (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.c | 40 |
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, ×tamp, &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, |
