diff options
Diffstat (limited to 'libgo/runtime/go-strslice.c')
-rw-r--r-- | libgo/runtime/go-strslice.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/libgo/runtime/go-strslice.c b/libgo/runtime/go-strslice.c new file mode 100644 index 000000000..94ecee92e --- /dev/null +++ b/libgo/runtime/go-strslice.c @@ -0,0 +1,26 @@ +/* go-strslice.c -- the go string slice function. + + Copyright 2009 The Go Authors. All rights reserved. + Use of this source code is governed by a BSD-style + license that can be found in the LICENSE file. */ + +#include "go-string.h" +#include "go-panic.h" +#include "runtime.h" +#include "malloc.h" + +struct __go_string +__go_string_slice (struct __go_string s, int start, int end) +{ + int len; + struct __go_string ret; + + len = s.__length; + if (end == -1) + end = len; + if (start > len || end < start || end > len) + __go_panic_msg ("string index out of bounds"); + ret.__data = s.__data + start; + ret.__length = end - start; + return ret; +} |