mongoose/src/str.h
2024-05-31 17:45:53 -03:00

24 lines
806 B
C

#pragma once
#include "arch.h"
// Describes an arbitrary chunk of memory
struct mg_str {
char *buf; // String data
size_t len; // String length
};
// Using macro to avoid shadowing C++ struct constructor, see #1298
#define mg_str(s) mg_str_s(s)
struct mg_str mg_str(const char *s);
struct mg_str mg_str_n(const char *s, size_t n);
int mg_casecmp(const char *s1, const char *s2);
int mg_strcmp(const struct mg_str str1, const struct mg_str str2);
int mg_strcasecmp(const struct mg_str str1, const struct mg_str str2);
struct mg_str mg_strdup(const struct mg_str s);
bool mg_match(struct mg_str str, struct mg_str pattern, struct mg_str *caps);
bool mg_span(struct mg_str s, struct mg_str *a, struct mg_str *b, char delim);
bool mg_str_to_num(struct mg_str, int base, void *val, size_t val_len);