1 /* go-strplus.c -- the go string append function.
3 Copyright 2009 The Go Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style
5 license that can be found in the LICENSE file. */
12 __go_string_plus (struct __go_string s1
, struct __go_string s2
)
15 unsigned char *retdata
;
16 struct __go_string ret
;
20 else if (s2
.__length
== 0)
23 len
= s1
.__length
+ s2
.__length
;
24 retdata
= runtime_mallocgc (len
, FlagNoPointers
, 1, 0);
25 __builtin_memcpy (retdata
, s1
.__data
, s1
.__length
);
26 __builtin_memcpy (retdata
+ s1
.__length
, s2
.__data
, s2
.__length
);