LMMS
Loading...
Searching...
No Matches
node.c File Reference
#include "serd_internal.h"
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <float.h>

Macros

#define ADD_LEN(field, n_delims)

Functions

SERD_API SerdNode serd_node_from_string (SerdType type, const uint8_t *buf)
SERD_API SerdNode serd_node_copy (const SerdNode *node)
SERD_API bool serd_node_equals (const SerdNode *a, const SerdNode *b)
static size_t serd_uri_string_length (const SerdURI *uri)
static size_t string_sink (const void *buf, size_t len, void *stream)
SERD_API SerdNode serd_node_new_uri_from_node (const SerdNode *uri_node, const SerdURI *base, SerdURI *out)
SERD_API SerdNode serd_node_new_uri_from_string (const uint8_t *str, const SerdURI *base, SerdURI *out)
static bool is_uri_path_char (const uint8_t c)
SERD_API SerdNode serd_node_new_file_uri (const uint8_t *path, const uint8_t *hostname, SerdURI *out, bool escape)
SERD_API SerdNode serd_node_new_uri (const SerdURI *uri, const SerdURI *base, SerdURI *out)
SERD_API SerdNode serd_node_new_relative_uri (const SerdURI *uri, const SerdURI *base, const SerdURI *root, SerdURI *out)
static unsigned serd_digits (double abs)
SERD_API SerdNode serd_node_new_decimal (double d, unsigned frac_digits)
SERD_API SerdNode serd_node_new_integer (int64_t i)
 Create a new node by serialising i into an xsd:integer string.
static void encode_chunk (uint8_t out[4], const uint8_t in[3], size_t n_in)
SERD_API SerdNode serd_node_new_blob (const void *buf, size_t size, bool wrap_lines)
SERD_API void serd_node_free (SerdNode *node)

Variables

static const uint8_t b64_map []

Macro Definition Documentation

◆ ADD_LEN

#define ADD_LEN ( field,
n_delims )
Value:
if ((field).len) { len += (field).len + (n_delims); }

Function Documentation

◆ encode_chunk()

void encode_chunk ( uint8_t out[4],
const uint8_t in[3],
size_t n_in )
inlinestatic

Encode 3 raw bytes to 4 base64 characters.

◆ is_uri_path_char()

bool is_uri_path_char ( const uint8_t c)
inlinestatic

◆ serd_digits()

unsigned serd_digits ( double abs)
inlinestatic

◆ serd_uri_string_length()

size_t serd_uri_string_length ( const SerdURI * uri)
static

◆ string_sink()

size_t string_sink ( const void * buf,
size_t len,
void * stream )
static

Variable Documentation

◆ b64_map

const uint8_t b64_map[]
static
Initial value:
=
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

Base64 encoding table.

See also
RFC3986 S3.