| /* 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 <stddef.h> | |
| 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, int32 *); | |
| #endif /* !defined(LIBGO_GO_STRING_H) */ |