|
@@ -168,7 +168,7 @@ int uri_param_2(struct sip_msg* _msg, char* _param, char* _value)
|
|
str *param, *value, t;
|
|
str *param, *value, t;
|
|
|
|
|
|
param_hooks_t hooks;
|
|
param_hooks_t hooks;
|
|
- param_t* params;
|
|
|
|
|
|
+ param_t* params, *pit;
|
|
|
|
|
|
param = (str*)_param;
|
|
param = (str*)_param;
|
|
value = (str*)_value;
|
|
value = (str*)_value;
|
|
@@ -185,25 +185,23 @@ int uri_param_2(struct sip_msg* _msg, char* _param, char* _value)
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
|
|
- while (params) {
|
|
|
|
- if ((params->name.len == param->len) &&
|
|
|
|
- (strncmp(params->name.s, param->s, param->len) == 0)) {
|
|
|
|
|
|
+ for (pit = params; pit; pit = pit->next) {
|
|
|
|
+ if ((pit->name.len == param->len) &&
|
|
|
|
+ (strncmp(pit->name.s, param->s, param->len) == 0)) {
|
|
if (value) {
|
|
if (value) {
|
|
- if ((value->len == params->body.len) &&
|
|
|
|
- strncmp(value->s, params->body.s, value->len) == 0) {
|
|
|
|
|
|
+ if ((value->len == pit->body.len) &&
|
|
|
|
+ strncmp(value->s, pit->body.s, value->len) == 0) {
|
|
goto ok;
|
|
goto ok;
|
|
} else {
|
|
} else {
|
|
goto nok;
|
|
goto nok;
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
- if (params->body.len > 0) {
|
|
|
|
|
|
+ if (pit->body.len > 0) {
|
|
goto nok;
|
|
goto nok;
|
|
} else {
|
|
} else {
|
|
goto ok;
|
|
goto ok;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- } else {
|
|
|
|
- params = params->next;
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|