18#ifndef CS_COMMON_MG_STR_H_
19#define CS_COMMON_MG_STR_H_
37struct mg_str mg_mk_str(const char *s);
42struct mg_str mg_mk_str_n(const char *s,
size_t len);
45#define MG_MK_STR(str_literal) \
46 { str_literal, sizeof(str_literal) - 1 }
47#define MG_MK_STR_N(str_literal, len) \
56int mg_vcmp(
const struct mg_str *str2,
const char *str1);
62int mg_vcasecmp(
const struct mg_str *str2,
const char *str1);
76const char *mg_strchr(
const struct mg_str s,
int c);
81int mg_strcmp(
const struct mg_str str1,
const struct mg_str str2);
86int mg_strncmp(
const struct mg_str str1,
const struct mg_str str2,
size_t n);
91int mg_strcasecmp(
const struct mg_str str1,
const struct mg_str str2);
96void mg_strfree(
struct mg_str *s);
101const char *mg_strstr(
const struct mg_str haystack,
const struct mg_str needle);
107int mg_str_starts_with(
struct mg_str s,
struct mg_str prefix);