diff options
| author | alex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-04-14 12:18:32 +0000 |
|---|---|---|
| committer | alex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-04-14 12:18:32 +0000 |
| commit | 1562339df0317816bbbee60d1478234e58d4f6f8 (patch) | |
| tree | 8c34cc4e14ed54b8eaf788dd3d7ab4d7f9dff1da /src/libs/zbxcommon | |
| parent | b4beb0cb8e825b035d6eeba0d6705cc287404f15 (diff) | |
| download | zabbix-1562339df0317816bbbee60d1478234e58d4f6f8.tar.gz zabbix-1562339df0317816bbbee60d1478234e58d4f6f8.tar.xz zabbix-1562339df0317816bbbee60d1478234e58d4f6f8.zip | |
Minor changes
git-svn-id: svn://svn.zabbix.com/trunk@4010 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src/libs/zbxcommon')
| -rw-r--r-- | src/libs/zbxcommon/misc.c | 40 |
1 files changed, 27 insertions, 13 deletions
diff --git a/src/libs/zbxcommon/misc.c b/src/libs/zbxcommon/misc.c index 57550ceb..ba448312 100644 --- a/src/libs/zbxcommon/misc.c +++ b/src/libs/zbxcommon/misc.c @@ -249,7 +249,7 @@ int calculate_item_nextcheck(zbx_uint64_t itemid, int item_type, int delay, char * Comments: * * * ******************************************************************************/ -int ip_in_list(const char *list, char *ip) +int ip_in_list(char *list, char *ip) { char tmp[MAX_STRING_LEN]; char tmp_ip[MAX_STRING_LEN]; @@ -266,7 +266,7 @@ int ip_in_list(const char *list, char *ip) s=(char *)strtok(tmp,","); while(s!=NULL) { - zabbix_log(LOG_LEVEL_WARNING,"IP [%s]", s); + zabbix_log(LOG_LEVEL_WARNING,"Next [%s]", s); if(sscanf(s,"%d.%d.%d.%d-%d",&i1,&i2,&i3,&i4,&i5) == 5) { @@ -315,22 +315,27 @@ int ip_in_list(const char *list, char *ip) * Comments: * * * ******************************************************************************/ -int int_in_list(const char *list, int value) +int int_in_list(char *list, int value) { - char tmp[MAX_STRING_LEN]; - char *s; + char *start, *end; int i1,i2; int ret = FAIL; - + char c; zabbix_log( LOG_LEVEL_WARNING, "In int_in_list(list:%s,value:%d)", list, value); - strscpy(tmp,list); - s=(char *)strtok(tmp,","); - while(s!=NULL) + for(start = list; start[0] != '\0';) { - zabbix_log(LOG_LEVEL_WARNING,"Int [%s]", s); - if(sscanf(s,"%d-%d",&i1,&i2) == 2) + end=strchr(start, ','); + + if(end != NULL) + { + c=end[0]; + end[0]='\0'; + } + + zabbix_log(LOG_LEVEL_WARNING,"Next [%s]", start); + if(sscanf(start,"%d-%d",&i1,&i2) == 2) { if(value>=i1 && value<=i2) { @@ -340,13 +345,22 @@ int int_in_list(const char *list, int value) } else { - if(atoi(s) == value) + if(atoi(start) == value) { ret = SUCCEED; break; } } - s=(char *)strtok(NULL,","); + + if(end != NULL) + { + end[0]=c; + start=end+1; + } + else + { + break; + } } zabbix_log( LOG_LEVEL_WARNING, "End int_in_list(ret:%s)", ret == SUCCEED?"SUCCEED":"FAIL"); |
