36 return (
char)(((c >=
'A') && (c <=
'Z')) ? (c + (
'a' -
'A')) : c);
55 return (c ==
' ') || (c ==
'\t') || (c ==
'\n') || (c ==
'\r') || (c ==
'"') || (c ==
'\'') ||
75 return (c ==
' ') || (c ==
'\t') || (c ==
'\n') || (c ==
'\r') || (c ==
'>') || (c ==
'/');
82 const size_t nlen =
strlen(needle);
83 if ((nlen == 0U) || (hay_len < nlen)) {
86 for (
size_t i = 0U; i + nlen <= hay_len; ++i) {
116 while ((k < tag_len) && ((tag[k] ==
' ') || (tag[k] ==
'\t'))) {
146 if (!((k < tag_len) && (tag[k] ==
'='))) {
150 if (!((k < tag_len) && ((tag[k] ==
'"') || (tag[k] ==
'\'')))) {
153 const char quote = tag[k];
156 while ((k < tag_len) && (tag[k] != quote) && (n + 1U < out_cap)) {
161 if ((k < tag_len) && (tag[k] == quote)) {
194 const size_t alen =
strlen(attr);
196 while (pos + alen <= tag_len) {
198 if (hit ==
nullptr) {
201 const size_t idx = (size_t)(hit - tag);
228 if ((needle ==
nullptr) || (needle[0] ==
'\0')) {
231 return strstr(url, needle) !=
nullptr;
252 const size_t n =
strlen(src);
253 if (n + 1U > out_cap) {
Annotation-attribute framework macros for ra8-firmware.
#define RA8_INTERNAL
Marker that a function is intended to be static (file-local).
size_t strlen(const char *s)
Calculate string length.
void * memcpy(void *dst, const void *src, size_t n)
Copy memory area between non-overlapping regions.
char * strstr(const char *haystack, const char *needle)
Locate substring in string.