diff options
Diffstat (limited to 'libinterp/string.c')
| -rw-r--r-- | libinterp/string.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libinterp/string.c b/libinterp/string.c index 4a4eb54e..32320d56 100644 --- a/libinterp/string.c +++ b/libinterp/string.c @@ -131,6 +131,8 @@ slicer(ulong start, ulong v, String *ds) l = -ds->len; if(v < start || v > l) error(exBounds); + if(nc == 0) + return H; ns = newrunes(nc); memmove(ns->Srune, &ds->Srune[start], nc*sizeof(Rune)); } @@ -138,6 +140,8 @@ slicer(ulong start, ulong v, String *ds) l = ds->len; if(v < start || v > l) error(exBounds); + if(nc == 0) + return H; ns = newstring(nc); memmove(ns->Sascii, &ds->Sascii[start], nc); } |
