17#ifndef SERD_URI_UTILS_H
18#define SERD_URI_UTILS_H
31 return a->len ==
b->len &&
32 !strncmp((
const char*)
a->buf, (
const char*)
b->buf,
a->len);
38 return uri->path_base.len +
uri->path.len;
45 :
uri->path.buf[
i -
uri->path_base.len];
64 size_t last_root_slash = 0;
65 for (
size_t i = 0;
i < path_len &&
i < root_len; ++
i) {
69 differ = differ ||
u !=
r;
78 return last_root_slash + 1;
93 return index > 0 &&
uri->path.len > index;
uint8_t a
Definition Spc_Cpu.h:141
struct huft * u[BMAX]
Definition inflate.c:1583
register unsigned i
Definition inflate.c:1575
unsigned char uint8_t
Definition mid.cpp:98
static bool is_digit(const int c)
Definition string_utils.h:45
static bool is_alpha(const int c)
Definition string_utils.h:38
An unterminated string fragment.
Definition serd.h:208
size_t len
Length of chunk in bytes.
Definition serd.h:210
SerdChunk authority
Authority.
Definition serd.h:232
SerdChunk scheme
Scheme.
Definition serd.h:231
return c
Definition crypt.c:175
int r
Definition crypt.c:458
static SERD_PURE_FUNC size_t uri_rooted_index(const SerdURI *uri, const SerdURI *root)
Definition uri_utils.h:53
static uint8_t uri_path_at(const SerdURI *uri, size_t i)
Definition uri_utils.h:42
static SERD_PURE_FUNC bool uri_is_under(const SerdURI *uri, const SerdURI *root)
Definition uri_utils.h:90
static size_t uri_path_len(const SerdURI *uri)
Definition uri_utils.h:36
static SERD_PURE_FUNC bool uri_is_related(const SerdURI *uri, const SerdURI *root)
Definition uri_utils.h:83
static bool is_uri_scheme_char(const int c)
Definition uri_utils.h:97
static bool chunk_equals(const SerdChunk *a, const SerdChunk *b)
Definition uri_utils.h:29