aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--toys/pending/expr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/toys/pending/expr.c b/toys/pending/expr.c
index 743a9536..9e094a75 100644
--- a/toys/pending/expr.c
+++ b/toys/pending/expr.c
@@ -113,7 +113,8 @@ static void re(char *target, char *pattern, struct value *ret)
if (!regexec(&pat, target, 2, m, 0) && !m[0].rm_so) {
// Return first parenthesized subexpression as string, or length of match
if (pat.re_nsub>0) {
- ret->s = xmprintf("%.*s", m[1].rm_eo-m[1].rm_so, target+m[1].rm_so);
+ ret->s = xmprintf("%.*s", (int)(m[1].rm_eo-m[1].rm_so),
+ target+m[1].rm_so);
if (TT.refree) free(TT.refree);
TT.refree = ret->s;
} else assign_int(ret, m[0].rm_eo);