summaryrefslogtreecommitdiffstats
path: root/src/libs/zbxcommon
diff options
context:
space:
mode:
authoralex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-04-14 12:18:32 +0000
committeralex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-04-14 12:18:32 +0000
commit1562339df0317816bbbee60d1478234e58d4f6f8 (patch)
tree8c34cc4e14ed54b8eaf788dd3d7ab4d7f9dff1da /src/libs/zbxcommon
parentb4beb0cb8e825b035d6eeba0d6705cc287404f15 (diff)
downloadzabbix-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.c40
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");