SWITCH_DECLARE(int) switch_regex_perform(const char *field, const char *expression, switch_regex_t **new_re, int *ovector, uint32_t olen);
SWITCH_DECLARE(void) switch_perform_substitution(switch_regex_t *re, int match_count, const char *data, const char *field_data,
- char *substituted, uint32_t len, int *ovector);
+ char *substituted, switch_size_t len, int *ovector);
/*!
\brief Function to evaluate an expression against a string
goto done;
} else if (!strcasecmp(argv[0], "call")) {
char buf[4096] = "";
+ char *how = ",";
callback_t cbt = { 0 };
cbt.buf = buf;
cbt.len = sizeof(buf);
- char *how = ",";
if (argc > 2) {
if (!strcasecmp(argv[2], "order")) {
if (offset >= 0) {
sub_val += offset;
- } else if (abs(offset) <= strlen(sub_val)) {
+ } else if ((size_t)abs(offset) <= strlen(sub_val)) {
sub_val = cloned_sub_val + (strlen(cloned_sub_val) + offset);
}
- if (ooffset > 0 && ooffset < strlen(sub_val)) {
+ if (ooffset > 0 && (size_t)ooffset < strlen(sub_val)) {
if ((p = (char *)sub_val + ooffset)) {
*p = '\0';
}
SWITCH_DECLARE(void) switch_perform_substitution(switch_regex_t *re, int match_count, const char *data, const char *field_data,
- char *substituted, uint32_t len, int *ovector)
+ char *substituted, switch_size_t len, int *ovector)
{
char index[10] = "";
char replace[1024] = "";
- uint32_t x, y = 0, z = 0, num = 0;
+ switch_size_t x, y = 0, z = 0;
+ int num = 0;
for (x = 0; x < (len - 1) && x < strlen(data);) {
if (data[x] == '$') {
num = atoi(index);
if (pcre_copy_substring(field_data, ovector, match_count, num, replace, sizeof(replace)) > 0) {
- unsigned int r;
+ switch_size_t r;
for (r = 0; r < strlen(replace); r++) {
substituted[y++] = replace[r];
}