summaryrefslogtreecommitdiff
path: root/libinterp/string.c
diff options
context:
space:
mode:
authorCharles.Forsyth <devnull@localhost>2009-01-22 16:43:05 +0000
committerCharles.Forsyth <devnull@localhost>2009-01-22 16:43:05 +0000
commit3ca84fa3246c8fd45d7712981feb7e5701f9b55a (patch)
treef740456515462e0b9b57550b2d3ec8719456e1cf /libinterp/string.c
parent35da2feea738176e4f6e98e412f28e4fdb79ceac (diff)
20090122-1642
Diffstat (limited to 'libinterp/string.c')
-rw-r--r--libinterp/string.c4
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);
}