In grouped expressions, optional, non-matched arguments didn't have their
value set to NULL as documented. Set all arguments by default to NULL.
silc_regex_free(®);
return FALSE;
}
+ silc_buffer_set(match, NULL, 0);
rets[c++] = match;
while ((buf = va_arg(va, SilcBuffer))) {
silc_regex_free(®);
return FALSE;
}
+ silc_buffer_set(buf, NULL, 0);
rets[c++] = buf;
}
/* Return matches */
for (i = 0; i < c; i++) {
- if (m[i].start == -1) {
- silc_buffer_set(rets[i], NULL, 0);
+ if (m[i].start == -1)
continue;
- }
silc_buffer_set(rets[i], (unsigned char *)string + m[i].start,
m[i].end - m[i].start);
}