30 #ifndef STRING_API_HXX
31 #define STRING_API_HXX
49 static inline const char *
52 return strstr(haystack, needle);
59 return (
char *)memchr(haystack, needle, size);
63 static inline const char *
64 StringFind(
const char *haystack,
char needle,
size_t size)
66 return (
const char *)memchr(haystack, needle, size);
70 static inline const char *
73 return strchr(haystack, needle);
80 return strchr(haystack, needle);
84 static inline const char *
87 return strrchr(haystack, needle);
94 return strrchr(haystack, needle);
108 #if defined(WIN32) || defined(__BIONIC__)
113 return stpcpy(dest, src);
124 return strcmp(a, b) == 0;
134 return strncmp(a, b, length) == 0;
gcc_pure static gcc_nonnull_all bool StringIsEqual(const char *a, const char *b)
Checks whether #a and #b are equal.
gcc_malloc static gcc_nonnull_all char * DuplicateString(const char *p)
Copy the string to a new allocation.
static gcc_nonnull_all char * UnsafeCopyStringP(char *dest, const char *src)
static gcc_nonnull_all void UnsafeCopyString(char *dest, const char *src)
gcc_pure static gcc_nonnull_all const char * StringFindLast(const char *haystack, char needle)
gcc_pure static gcc_nonnull_all const char * StringFind(const char *haystack, const char *needle)
gcc_pure static gcc_nonnull_all size_t StringLength(const char *p)