/* go-string.h -- the string type for Go. 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. */ #ifndef LIBGO_GO_STRING_H #define LIBGO_GO_STRING_H #include static inline _Bool __go_strings_equal (String s1, String s2) { return (s1.len == s2.len && __builtin_memcmp (s1.str, s2.str, s1.len) == 0); } static inline _Bool __go_ptr_strings_equal (const String *ps1, const String *ps2) { if (ps1 == NULL) return ps2 == NULL; if (ps2 == NULL) return 0; return __go_strings_equal (*ps1, *ps2); } extern int __go_get_rune (const unsigned char *, size_t, int *); #endif /* !defined(LIBGO_GO_STRING_H) */