(root)/
gcc-13.2.0/
libgo/
runtime/
go-string.h
       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) */