github.com/guyezi/gofrontend@v0.0.0-20200228202240-7a62a49e62c0/libgo/runtime/go-string.h (about) 1 /* go-string.h -- the string type for Go. 2 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. */ 6 7 #ifndef LIBGO_GO_STRING_H 8 #define LIBGO_GO_STRING_H 9 10 #include <stddef.h> 11 12 static inline _Bool 13 __go_strings_equal (String s1, String s2) 14 { 15 return (s1.len == s2.len 16 && __builtin_memcmp (s1.str, s2.str, s1.len) == 0); 17 } 18 19 static inline _Bool 20 __go_ptr_strings_equal (const String *ps1, const String *ps2) 21 { 22 if (ps1 == NULL) 23 return ps2 == NULL; 24 if (ps2 == NULL) 25 return 0; 26 return __go_strings_equal (*ps1, *ps2); 27 } 28 29 extern int __go_get_rune (const unsigned char *, size_t, int32 *); 30 31 #endif /* !defined(LIBGO_GO_STRING_H) */