mongoose/src/str.h

30 lines
897 B
C
Raw Normal View History

2020-12-05 11:26:32 +00:00
#pragma once
2022-01-10 17:30:51 +00:00
#include "arch.h"
2020-12-05 11:26:32 +00:00
struct mg_str {
2021-09-15 07:43:48 +01:00
const char *ptr; // Pointer to string data
size_t len; // String len
2020-12-05 11:26:32 +00:00
};
#define MG_NULL_STR \
{ NULL, 0 }
#define MG_C_STR(a) \
{ (a), sizeof(a) - 1 }
// Using macro to avoid shadowing C++ struct constructor, see #1298
#define mg_str(s) mg_str_s(s)
2020-12-05 11:26:32 +00:00
struct mg_str mg_str(const char *s);
2020-12-07 03:47:37 +00:00
struct mg_str mg_str_n(const char *s, size_t n);
2020-12-05 11:26:32 +00:00
int mg_lower(const char *s);
int mg_ncasecmp(const char *s1, const char *s2, size_t len);
int mg_casecmp(const char *s1, const char *s2);
int mg_vcmp(const struct mg_str *s1, const char *s2);
int mg_vcasecmp(const struct mg_str *str1, const char *str2);
int mg_strcmp(const struct mg_str str1, const struct mg_str str2);
struct mg_str mg_strstrip(struct mg_str s);
struct mg_str mg_strdup(const struct mg_str s);
const char *mg_strstr(const struct mg_str haystack, const struct mg_str needle);