GVM User Suite
User tools for the GVM open source project.
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
toml.c File Reference
#include "toml.h"
#include <assert.h>
#include <ctype.h>
#include <errno.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
Include dependency graph for toml.c:

Go to the source code of this file.

Data Structures

struct  toml_keyval_t
 
struct  toml_arritem_t
 
struct  toml_array_t
 
struct  toml_table_t
 
struct  token_t
 
struct  context_t
 
struct  tabpath_t
 

Macros

#define _POSIX_C_SOURCE   200809L
 
#define MALLOC(a)   ppmalloc(a)
 
#define FREE(a)   ppfree(a)
 
#define malloc(x)   error - forbidden - use MALLOC instead
 
#define free(x)   error - forbidden - use FREE instead
 
#define calloc(x, y)   error - forbidden - use CALLOC instead
 
#define strdup(x)   error - forbidden - use STRDUP instead
 
#define strndup(x)   error - forbiden - use STRNDUP instead
 
#define STRINGIFY(x)   #x
 
#define TOSTRING(x)   STRINGIFY(x)
 
#define FLINE   __FILE__ ":" TOSTRING(__LINE__)
 

Typedefs

typedef struct toml_keyval_t toml_keyval_t
 
typedef struct toml_arritem_t toml_arritem_t
 
typedef enum tokentype_t tokentype_t
 
typedef struct token_t token_t
 
typedef struct context_t context_t
 
typedef struct tabpath_t tabpath_t
 

Enumerations

enum  tokentype_t {
  INVALID , DOT , COMMA , EQUAL ,
  LBRACE , RBRACE , NEWLINE , LBRACKET ,
  RBRACKET , STRING
}
 

Functions

void toml_set_memutil (void *(*xxmalloc)(size_t), void(*xxfree)(void *))
 
static void * CALLOC (size_t nmemb, size_t sz)
 
static char * STRDUP (const char *s)
 
static char * STRNDUP (const char *s, size_t n)
 
int toml_utf8_to_ucs (const char *orig, int len, int64_t *ret)
 
int toml_ucs_to_utf8 (int64_t code, char buf[6])
 
static void xfree (const void *x)
 
static int next_token (context_t *ctx, int dotisspecial)
 
static int e_outofmemory (context_t *ctx, const char *fline)
 
static int e_internal (context_t *ctx, const char *fline)
 
static int e_syntax (context_t *ctx, int lineno, const char *msg)
 
static int e_badkey (context_t *ctx, int lineno)
 
static int e_keyexists (context_t *ctx, int lineno)
 
static int e_forbid (context_t *ctx, int lineno, const char *msg)
 
static void * expand (void *p, int sz, int newsz)
 
static void ** expand_ptrarr (void **p, int n)
 
static toml_arritem_texpand_arritem (toml_arritem_t *p, int n)
 
static char * norm_lit_str (const char *src, int srclen, int multiline, char *errbuf, int errbufsz)
 
static char * norm_basic_str (const char *src, int srclen, int multiline, char *errbuf, int errbufsz)
 
static char * normalize_key (context_t *ctx, token_t strtok)
 
static int check_key (toml_table_t *tab, const char *key, toml_keyval_t **ret_val, toml_array_t **ret_arr, toml_table_t **ret_tab)
 
static int key_kind (toml_table_t *tab, const char *key)
 
static toml_keyval_tcreate_keyval_in_table (context_t *ctx, toml_table_t *tab, token_t keytok)
 
static toml_table_tcreate_keytable_in_table (context_t *ctx, toml_table_t *tab, token_t keytok)
 
static toml_array_tcreate_keyarray_in_table (context_t *ctx, toml_table_t *tab, token_t keytok, char kind)
 
static toml_arritem_tcreate_value_in_array (context_t *ctx, toml_array_t *parent)
 
static toml_array_tcreate_array_in_array (context_t *ctx, toml_array_t *parent)
 
static toml_table_tcreate_table_in_array (context_t *ctx, toml_array_t *parent)
 
static int skip_newlines (context_t *ctx, int isdotspecial)
 
static int parse_keyval (context_t *ctx, toml_table_t *tab)
 
static int eat_token (context_t *ctx, tokentype_t typ, int isdotspecial, const char *fline)
 
static int parse_inline_table (context_t *ctx, toml_table_t *tab)
 
static int valtype (const char *val)
 
static int parse_array (context_t *ctx, toml_array_t *arr)
 
static int fill_tabpath (context_t *ctx)
 
static int walk_tabpath (context_t *ctx)
 
static int parse_select (context_t *ctx)
 
toml_table_ttoml_parse (char *conf, char *errbuf, int errbufsz)
 
toml_table_ttoml_parse_file (FILE *fp, char *errbuf, int errbufsz)
 
static void xfree_kval (toml_keyval_t *p)
 
static void xfree_tab (toml_table_t *p)
 
static void xfree_arr (toml_array_t *p)
 
void toml_free (toml_table_t *tab)
 
static void set_token (context_t *ctx, tokentype_t tok, int lineno, char *ptr, int len)
 
static void set_eof (context_t *ctx, int lineno)
 
static int scan_digits (const char *p, int n)
 
static int scan_date (const char *p, int *YY, int *MM, int *DD)
 
static int scan_time (const char *p, int *hh, int *mm, int *ss)
 
static int scan_string (context_t *ctx, char *p, int lineno, int dotisspecial)
 
const char * toml_key_in (const toml_table_t *tab, int keyidx)
 
int toml_key_exists (const toml_table_t *tab, const char *key)
 
toml_raw_t toml_raw_in (const toml_table_t *tab, const char *key)
 
toml_array_ttoml_array_in (const toml_table_t *tab, const char *key)
 
toml_table_ttoml_table_in (const toml_table_t *tab, const char *key)
 
toml_raw_t toml_raw_at (const toml_array_t *arr, int idx)
 
char toml_array_kind (const toml_array_t *arr)
 
char toml_array_type (const toml_array_t *arr)
 
int toml_array_nelem (const toml_array_t *arr)
 
const char * toml_array_key (const toml_array_t *arr)
 
int toml_table_nkval (const toml_table_t *tab)
 
int toml_table_narr (const toml_table_t *tab)
 
int toml_table_ntab (const toml_table_t *tab)
 
const char * toml_table_key (const toml_table_t *tab)
 
toml_array_ttoml_array_at (const toml_array_t *arr, int idx)
 
toml_table_ttoml_table_at (const toml_array_t *arr, int idx)
 
static int parse_millisec (const char *p, const char **endp)
 
int toml_rtots (toml_raw_t src_, toml_timestamp_t *ret)
 
int toml_rtob (toml_raw_t src, int *ret_)
 
int toml_rtoi (toml_raw_t src, int64_t *ret_)
 
int toml_rtod_ex (toml_raw_t src, double *ret_, char *buf, int buflen)
 
int toml_rtod (toml_raw_t src, double *ret_)
 
int toml_rtos (toml_raw_t src, char **ret)
 
toml_datum_t toml_string_at (const toml_array_t *arr, int idx)
 
toml_datum_t toml_bool_at (const toml_array_t *arr, int idx)
 
toml_datum_t toml_int_at (const toml_array_t *arr, int idx)
 
toml_datum_t toml_double_at (const toml_array_t *arr, int idx)
 
toml_datum_t toml_timestamp_at (const toml_array_t *arr, int idx)
 
toml_datum_t toml_string_in (const toml_table_t *arr, const char *key)
 
toml_datum_t toml_bool_in (const toml_table_t *arr, const char *key)
 
toml_datum_t toml_int_in (const toml_table_t *arr, const char *key)
 
toml_datum_t toml_double_in (const toml_table_t *arr, const char *key)
 
toml_datum_t toml_timestamp_in (const toml_table_t *arr, const char *key)
 

Variables

static void *(* ppmalloc )(size_t) = malloc
 
static void(* ppfree )(void *) = free
 

Macro Definition Documentation

◆ _POSIX_C_SOURCE

#define _POSIX_C_SOURCE   200809L

Definition at line 27 of file toml.c.

◆ calloc

#define calloc (   x,
 
)    error - forbidden - use CALLOC instead

Definition at line 53 of file toml.c.

◆ FLINE

#define FLINE   __FILE__ ":" TOSTRING(__LINE__)

Definition at line 372 of file toml.c.

◆ FREE

#define FREE (   a)    ppfree(a)

Definition at line 49 of file toml.c.

◆ free

#define free (   x)    error - forbidden - use FREE instead

Definition at line 52 of file toml.c.

◆ MALLOC

#define MALLOC (   a)    ppmalloc(a)

Definition at line 48 of file toml.c.

◆ malloc

#define malloc (   x)    error - forbidden - use MALLOC instead

Definition at line 51 of file toml.c.

◆ strdup

#define strdup (   x)    error - forbidden - use STRDUP instead

Definition at line 66 of file toml.c.

◆ STRINGIFY

#define STRINGIFY (   x)    #x

Definition at line 370 of file toml.c.

◆ strndup

#define strndup (   x)    error - forbiden - use STRNDUP instead

Definition at line 80 of file toml.c.

◆ TOSTRING

#define TOSTRING (   x)    STRINGIFY(x)

Definition at line 371 of file toml.c.

Typedef Documentation

◆ context_t

typedef struct context_t context_t

Definition at line 324 of file toml.c.

◆ tabpath_t

typedef struct tabpath_t tabpath_t

Definition at line 1101 of file toml.c.

◆ token_t

typedef struct token_t token_t

Definition at line 324 of file toml.c.

◆ tokentype_t

typedef enum tokentype_t tokentype_t

Definition at line 324 of file toml.c.

◆ toml_arritem_t

Definition at line 197 of file toml.c.

◆ toml_keyval_t

typedef struct toml_keyval_t toml_keyval_t

Definition at line 197 of file toml.c.

Enumeration Type Documentation

◆ tokentype_t

Enumerator
INVALID 
DOT 
COMMA 
EQUAL 
LBRACE 
RBRACE 
NEWLINE 
LBRACKET 
RBRACKET 
STRING 

Definition at line 329 of file toml.c.

Function Documentation

◆ CALLOC()

static void* CALLOC ( size_t  nmemb,
size_t  sz 
)
static

Definition at line 55 of file toml.c.

Here is the caller graph for this function:

◆ check_key()

static int check_key ( toml_table_t tab,
const char *  key,
toml_keyval_t **  ret_val,
toml_array_t **  ret_arr,
toml_table_t **  ret_tab 
)
static

Definition at line 687 of file toml.c.

Here is the caller graph for this function:

◆ create_array_in_array()

static toml_array_t* create_array_in_array ( context_t ctx,
toml_array_t parent 
)
static

Definition at line 874 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_keyarray_in_table()

static toml_array_t* create_keyarray_in_table ( context_t ctx,
toml_table_t tab,
token_t  keytok,
char  kind 
)
static

Definition at line 820 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_keytable_in_table()

static toml_table_t* create_keytable_in_table ( context_t ctx,
toml_table_t tab,
token_t  keytok 
)
static

Definition at line 772 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_keyval_in_table()

static toml_keyval_t* create_keyval_in_table ( context_t ctx,
toml_table_t tab,
token_t  keytok 
)
static

Definition at line 731 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_table_in_array()

static toml_table_t* create_table_in_array ( context_t ctx,
toml_array_t parent 
)
static

Definition at line 895 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_value_in_array()

static toml_arritem_t* create_value_in_array ( context_t ctx,
toml_array_t parent 
)
static

Definition at line 859 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ e_badkey()

static int e_badkey ( context_t ctx,
int  lineno 
)
static

Definition at line 394 of file toml.c.

Here is the caller graph for this function:

◆ e_forbid()

static int e_forbid ( context_t ctx,
int  lineno,
const char *  msg 
)
static

Definition at line 404 of file toml.c.

Here is the caller graph for this function:

◆ e_internal()

static int e_internal ( context_t ctx,
const char *  fline 
)
static

Definition at line 384 of file toml.c.

Here is the caller graph for this function:

◆ e_keyexists()

static int e_keyexists ( context_t ctx,
int  lineno 
)
static

Definition at line 399 of file toml.c.

Here is the caller graph for this function:

◆ e_outofmemory()

static int e_outofmemory ( context_t ctx,
const char *  fline 
)
static

Definition at line 379 of file toml.c.

Here is the caller graph for this function:

◆ e_syntax()

static int e_syntax ( context_t ctx,
int  lineno,
const char *  msg 
)
static

Definition at line 389 of file toml.c.

Here is the caller graph for this function:

◆ eat_token()

static int eat_token ( context_t ctx,
tokentype_t  typ,
int  isdotspecial,
const char *  fline 
)
inlinestatic

Definition at line 926 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ expand()

static void* expand ( void *  p,
int  sz,
int  newsz 
)
static

Definition at line 409 of file toml.c.

Here is the caller graph for this function:

◆ expand_arritem()

static toml_arritem_t* expand_arritem ( toml_arritem_t p,
int  n 
)
static

Definition at line 430 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ expand_ptrarr()

static void** expand_ptrarr ( void **  p,
int  n 
)
static

Definition at line 419 of file toml.c.

Here is the caller graph for this function:

◆ fill_tabpath()

static int fill_tabpath ( context_t ctx)
static

Definition at line 1196 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ key_kind()

static int key_kind ( toml_table_t tab,
const char *  key 
)
static

Definition at line 725 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ next_token()

static int next_token ( context_t ctx,
int  dotisspecial 
)
static

Definition at line 1798 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ norm_basic_str()

static char* norm_basic_str ( const char *  src,
int  srclen,
int  multiline,
char *  errbuf,
int  errbufsz 
)
static

Definition at line 488 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ norm_lit_str()

static char* norm_lit_str ( const char *  src,
int  srclen,
int  multiline,
char *  errbuf,
int  errbufsz 
)
static

Definition at line 439 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ normalize_key()

static char* normalize_key ( context_t ctx,
token_t  strtok 
)
static

Definition at line 621 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ parse_array()

static int parse_array ( context_t ctx,
toml_array_t arr 
)
static

Definition at line 1001 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ parse_inline_table()

static int parse_inline_table ( context_t ctx,
toml_table_t tab 
)
static

Definition at line 940 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ parse_keyval()

static int parse_keyval ( context_t ctx,
toml_table_t tab 
)
static

Definition at line 1101 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ parse_millisec()

static int parse_millisec ( const char *  p,
const char **  endp 
)
static

Definition at line 2371 of file toml.c.

Here is the caller graph for this function:

◆ parse_select()

static int parse_select ( context_t ctx)
static

Definition at line 1307 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scan_date()

static int scan_date ( const char *  p,
int *  YY,
int *  MM,
int *  DD 
)
static

Definition at line 1605 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scan_digits()

static int scan_digits ( const char *  p,
int  n 
)
static

Definition at line 1597 of file toml.c.

Here is the caller graph for this function:

◆ scan_string()

static int scan_string ( context_t ctx,
char *  p,
int  lineno,
int  dotisspecial 
)
static

Definition at line 1633 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scan_time()

static int scan_time ( const char *  p,
int *  hh,
int *  mm,
int *  ss 
)
static

Definition at line 1619 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_eof()

static void set_eof ( context_t ctx,
int  lineno 
)
static

Definition at line 1591 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_token()

static void set_token ( context_t ctx,
tokentype_t  tok,
int  lineno,
char *  ptr,
int  len 
)
static

Definition at line 1580 of file toml.c.

Here is the caller graph for this function:

◆ skip_newlines()

static int skip_newlines ( context_t ctx,
int  isdotspecial 
)
static

Definition at line 914 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ STRDUP()

static char* STRDUP ( const char *  s)
static

Definition at line 68 of file toml.c.

Here is the caller graph for this function:

◆ STRNDUP()

static char* STRNDUP ( const char *  s,
size_t  n 
)
static

Definition at line 82 of file toml.c.

Here is the caller graph for this function:

◆ toml_array_at()

toml_array_t* toml_array_at ( const toml_array_t arr,
int  idx 
)

Definition at line 1951 of file toml.c.

◆ toml_array_in()

toml_array_t* toml_array_in ( const toml_table_t tab,
const char *  key 
)

Definition at line 1901 of file toml.c.

Here is the caller graph for this function:

◆ toml_array_key()

const char* toml_array_key ( const toml_array_t arr)

Definition at line 1937 of file toml.c.

◆ toml_array_kind()

char toml_array_kind ( const toml_array_t arr)

Definition at line 1923 of file toml.c.

◆ toml_array_nelem()

int toml_array_nelem ( const toml_array_t arr)

Definition at line 1935 of file toml.c.

◆ toml_array_type()

char toml_array_type ( const toml_array_t arr)

Definition at line 1925 of file toml.c.

◆ toml_bool_at()

toml_datum_t toml_bool_at ( const toml_array_t arr,
int  idx 
)

Definition at line 2259 of file toml.c.

Here is the call graph for this function:

◆ toml_bool_in()

toml_datum_t toml_bool_in ( const toml_table_t arr,
const char *  key 
)

Definition at line 2320 of file toml.c.

Here is the call graph for this function:

◆ toml_double_at()

toml_datum_t toml_double_at ( const toml_array_t arr,
int  idx 
)

Definition at line 2273 of file toml.c.

Here is the call graph for this function:

◆ toml_double_in()

toml_datum_t toml_double_in ( const toml_table_t arr,
const char *  key 
)

Definition at line 2334 of file toml.c.

Here is the call graph for this function:

◆ toml_free()

void toml_free ( toml_table_t tab)

Definition at line 1578 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ toml_int_at()

toml_datum_t toml_int_at ( const toml_array_t arr,
int  idx 
)

Definition at line 2266 of file toml.c.

Here is the call graph for this function:

◆ toml_int_in()

toml_datum_t toml_int_in ( const toml_table_t arr,
const char *  key 
)

Definition at line 2327 of file toml.c.

Here is the call graph for this function:

◆ toml_key_exists()

int toml_key_exists ( const toml_table_t tab,
const char *  key 
)

Definition at line 1875 of file toml.c.

◆ toml_key_in()

const char* toml_key_in ( const toml_table_t tab,
int  keyidx 
)

Definition at line 1860 of file toml.c.

◆ toml_parse()

toml_table_t* toml_parse ( char *  conf,
char *  errbuf,
int  errbufsz 
)

Definition at line 1397 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ toml_parse_file()

toml_table_t* toml_parse_file ( FILE *  fp,
char *  errbuf,
int  errbufsz 
)

Definition at line 1475 of file toml.c.

Here is the call graph for this function:

◆ toml_raw_at()

toml_raw_t toml_raw_at ( const toml_array_t arr,
int  idx 
)

Definition at line 1919 of file toml.c.

Here is the caller graph for this function:

◆ toml_raw_in()

toml_raw_t toml_raw_in ( const toml_table_t tab,
const char *  key 
)

Definition at line 1892 of file toml.c.

Here is the caller graph for this function:

◆ toml_rtob()

int toml_rtob ( toml_raw_t  src,
int *  ret_ 
)

Definition at line 2050 of file toml.c.

Here is the caller graph for this function:

◆ toml_rtod()

int toml_rtod ( toml_raw_t  src,
double *  ret_ 
)

Definition at line 2200 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ toml_rtod_ex()

int toml_rtod_ex ( toml_raw_t  src,
double *  ret_,
char *  buf,
int  buflen 
)

Definition at line 2141 of file toml.c.

Here is the caller graph for this function:

◆ toml_rtoi()

int toml_rtoi ( toml_raw_t  src,
int64_t *  ret_ 
)

Definition at line 2068 of file toml.c.

Here is the caller graph for this function:

◆ toml_rtos()

int toml_rtos ( toml_raw_t  src,
char **  ret 
)

Definition at line 2205 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ toml_rtots()

int toml_rtots ( toml_raw_t  src_,
toml_timestamp_t ret 
)

Definition at line 1961 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ toml_set_memutil()

void toml_set_memutil ( void *(*)(size_t)  xxmalloc,
void(*)(void *)  xxfree 
)

Definition at line 41 of file toml.c.

◆ toml_string_at()

toml_datum_t toml_string_at ( const toml_array_t arr,
int  idx 
)

Definition at line 2252 of file toml.c.

Here is the call graph for this function:

◆ toml_string_in()

toml_datum_t toml_string_in ( const toml_table_t arr,
const char *  key 
)

Definition at line 2310 of file toml.c.

Here is the call graph for this function:

◆ toml_table_at()

toml_table_t* toml_table_at ( const toml_array_t arr,
int  idx 
)

Definition at line 1955 of file toml.c.

◆ toml_table_in()

toml_table_t* toml_table_in ( const toml_table_t tab,
const char *  key 
)

Definition at line 1910 of file toml.c.

Here is the caller graph for this function:

◆ toml_table_key()

const char* toml_table_key ( const toml_table_t tab)

Definition at line 1947 of file toml.c.

◆ toml_table_narr()

int toml_table_narr ( const toml_table_t tab)

Definition at line 1943 of file toml.c.

◆ toml_table_nkval()

int toml_table_nkval ( const toml_table_t tab)

Definition at line 1941 of file toml.c.

◆ toml_table_ntab()

int toml_table_ntab ( const toml_table_t tab)

Definition at line 1945 of file toml.c.

◆ toml_timestamp_at()

toml_datum_t toml_timestamp_at ( const toml_array_t arr,
int  idx 
)

Definition at line 2280 of file toml.c.

Here is the call graph for this function:

◆ toml_timestamp_in()

toml_datum_t toml_timestamp_in ( const toml_table_t arr,
const char *  key 
)

Definition at line 2341 of file toml.c.

Here is the call graph for this function:

◆ toml_ucs_to_utf8()

int toml_ucs_to_utf8 ( int64_t  code,
char  buf[6] 
)

Convert a UCS char to utf8 code, and return it in buf. Return #bytes used in buf to encode the char, or -1 on error.

Definition at line 197 of file toml.c.

Here is the caller graph for this function:

◆ toml_utf8_to_ucs()

int toml_utf8_to_ucs ( const char *  orig,
int  len,
int64_t *  ret 
)

Convert a char in utf8 into UCS, and store it in *ret. Return #bytes consumed or -1 on failure.

Definition at line 96 of file toml.c.

◆ valtype()

static int valtype ( const char *  val)
static

Definition at line 980 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ walk_tabpath()

static int walk_tabpath ( context_t ctx)
static

Definition at line 1245 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xfree()

static void xfree ( const void *  x)
inlinestatic

Definition at line 324 of file toml.c.

Here is the caller graph for this function:

◆ xfree_arr()

static void xfree_arr ( toml_array_t p)
static

Definition at line 1536 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xfree_kval()

static void xfree_kval ( toml_keyval_t p)
static

Definition at line 1526 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xfree_tab()

static void xfree_tab ( toml_table_t p)
static

Definition at line 1555 of file toml.c.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ ppfree

void(* ppfree) (void *) ( void *  ) = free
static

Definition at line 39 of file toml.c.

◆ ppmalloc

void*(* ppmalloc) (size_t) ( size_t  ) = malloc
static

Definition at line 38 of file toml.c.