FS-4144 --resolve
This commit is contained in:
parent
481df053ac
commit
2a0ca295cc
|
@ -1559,27 +1559,22 @@ SWITCH_STANDARD_API(regex_function)
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((proceed = switch_regex_perform(argv[0], argv[1], &re, ovector, sizeof(ovector) / sizeof(ovector[0])))) {
|
proceed = switch_regex_perform(argv[0], argv[1], &re, ovector, sizeof(ovector) / sizeof(ovector[0]));
|
||||||
if (argc > 2) {
|
|
||||||
len = (strlen(argv[0]) + strlen(argv[2]) + 10) * proceed;
|
|
||||||
substituted = malloc(len);
|
|
||||||
switch_assert(substituted);
|
|
||||||
memset(substituted, 0, len);
|
|
||||||
switch_replace_char(argv[2], '%', '$', SWITCH_FALSE);
|
|
||||||
switch_perform_substitution(re, proceed, argv[2], argv[0], substituted, len, ovector);
|
|
||||||
|
|
||||||
stream->write_function(stream, "%s", substituted);
|
if (argc > 2) {
|
||||||
free(substituted);
|
len = (strlen(argv[0]) + strlen(argv[2]) + 10) * proceed;
|
||||||
} else {
|
substituted = malloc(len);
|
||||||
stream->write_function(stream, "true");
|
switch_assert(substituted);
|
||||||
}
|
memset(substituted, 0, len);
|
||||||
|
switch_replace_char(argv[2], '%', '$', SWITCH_FALSE);
|
||||||
|
switch_perform_substitution(re, proceed, argv[2], argv[0], substituted, len, ovector);
|
||||||
|
|
||||||
|
stream->write_function(stream, "%s", substituted);
|
||||||
|
free(substituted);
|
||||||
} else {
|
} else {
|
||||||
if (argc > 2) {
|
stream->write_function(stream, proceed ? "true" : "false");
|
||||||
stream->write_function(stream, "%s", argv[0]);
|
|
||||||
} else {
|
|
||||||
stream->write_function(stream, "false");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
goto ok;
|
goto ok;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
|
Loading…
Reference in New Issue