projects
/
runtime.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
SilcRegex: Fixed silc_regex to return correct value for optional args
[runtime.git]
/
lib
/
silcutil
/
silcregex.c
diff --git
a/lib/silcutil/silcregex.c
b/lib/silcutil/silcregex.c
index 8444969560c561eca7c4cc046e15a2226b142371..3c83ed783d693149003ffa7cdaa47564c834952e 100644
(file)
--- a/
lib/silcutil/silcregex.c
+++ b/
lib/silcutil/silcregex.c
@@
-2411,6
+2411,7
@@
SilcBool silc_regex_va(const char *string, SilcUInt32 string_len,
silc_regex_free(®);
return FALSE;
}
silc_regex_free(®);
return FALSE;
}
+ silc_buffer_set(match, NULL, 0);
rets[c++] = match;
while ((buf = va_arg(va, SilcBuffer))) {
rets[c++] = match;
while ((buf = va_arg(va, SilcBuffer))) {
@@
-2421,6
+2422,7
@@
SilcBool silc_regex_va(const char *string, SilcUInt32 string_len,
silc_regex_free(®);
return FALSE;
}
silc_regex_free(®);
return FALSE;
}
+ silc_buffer_set(buf, NULL, 0);
rets[c++] = buf;
}
rets[c++] = buf;
}
@@
-2444,10
+2446,8
@@
SilcBool silc_regex_va(const char *string, SilcUInt32 string_len,
/* Return matches */
for (i = 0; i < c; i++) {
/* 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;
continue;
- }
silc_buffer_set(rets[i], (unsigned char *)string + m[i].start,
m[i].end - m[i].start);
}
silc_buffer_set(rets[i], (unsigned char *)string + m[i].start,
m[i].end - m[i].start);
}