rem: LOG(L_ERR,"ERROR:avpops:parse_check_value: parse error in <%s> pos %d\n", s,p-s);
add: LOG(L_ERR,"ERROR:avpops:parse_check_value: parse error in <%s> pos %ld\n", s,(long)(p-s));
context: struct fis_param* parse_check_value(char *s){	struct fis_param *vp;	int  flags;	char foo;	char *p;	char *t;	int len;	flags = 0;	vp = 0;	if ( (p=strchr(s,'/'))==0 || p-s!=2 )		goto parse_error;	/* get the operation */	if (strncasecmp(s,"eq",2)==0)	{		flags |= AVPOPS_OP_EQ;	} else if (strncasecmp(s,"lt",2)==0) {		flags |= AVPOPS_OP_LT;	} else if (strncasecmp(s,"gt",2)==0) {		flags |= AVPOPS_OP_GT;	} else if (strncasecmp(s,"re",2)==0) {		flags |= AVPOPS_OP_RE;	} else {		LOG(L_ERR,"ERROR:avpops:parse_check_value: unknown operation "			"<%.*s>\n",2,s);		goto error;	}	/* get the value */	if (*(++p)==0)		goto parse_error;	if ( (t=strchr(p,'/'))==0)		len = strlen(p);	else		len = t-p;	if (*p=='$')	{		if (*(++p)==0 || (--len)==0)			goto parse_error;		flags |= AVPOPS_VAL_NONE;		/* variable -> which one? */		if ( (strncasecmp(p,"ruri"  ,len)==0 && (flags|=AVPOPS_USE_RURI))		  || (strncasecmp(p,"from"  ,len)==0 && (flags|=AVPOPS_USE_FROM))		  || (strncasecmp(p,"to"    ,len)==0 && (flags|=AVPOPS_USE_TO))		  || (strncasecmp(p,"src_ip",len)==0 && (flags|=AVPOPS_USE_SRC_IP)))		{			vp = (struct fis_param*)pkg_malloc(sizeof(struct fis_param));			if (vp==0) {				LOG(L_ERR,"ERROR:avpops:parse_check_value: no more pkg mem\n");				goto error;			}			memset( vp, 0, sizeof(struct fis_param));			flags |= AVPOPS_VAL_NONE;		} else {			foo = p[len];			p[len] = 0; /* make the string null terminated */			vp = lookup_avp_alias(p);			p[len] = foo;			if ( vp==0 ) {				LOG(L_ERR,"ERROR:avpops:parse_check_value: unknown "					"variable/alias <%.*s>\n",len,p);				goto error;			}		}		p += len;	} else {		/* value is explicitly given */		if ( (vp=parse_intstr_value(p,len))==0) {			LOG(L_ERR,"ERROR:avpops:parse_check_value: unable to "				"parse value\n");			goto error;		}		/* go over */		p += len;	}	/* any flags */	if (*p!=0 )	{		if (*p!='/' || *(++p)==0)			goto parse_error;		while (*p)		{			switch (*p)			{				case 'g':				case 'G':					flags|=AVPOPS_FLAG_ALL;					break;				case 'i':				case 'I':					flags|=AVPOPS_FLAG_CI;					break;				default:					LOG(L_ERR,"ERROR:avpops:parse_check_value: unknown flag "						"<%c>\n",*p);					goto error;			}			p++;		}	}	vp->flags |= flags;	return vp;parse_error:	LOG(L_ERR,"ERROR:avpops:parse_check_value: parse error in <%s> pos %d\n",		s,p-s);error:	if (vp) pkg_free(vp);	return 0;}