1 #include "../icedb/defs.h" 2 #include "../icedb/util.h" 5 #include "../icedb/error_context.h" 6 #include "../icedb/util.h" 28 const int slinesz = 50;
30 snprintf(sline, slinesz,
"%d", line);
59 if (data[sz] !=
'\0' && data[sz + 1] ==
'\0') sz++;
60 const size_t min_alloc_size_inc = 256;
62 size_t newszinc = (sz> min_alloc_size_inc) ? sz : min_alloc_size_inc;
82 size_t sz = (size_t) strnlen(data, UINT16_MAX);
99 #if defined(__STDC_LIB_EXT1__) || defined(__STDC_SECURE_LIB__) 112 for (
size_t i = 0; i < numNewSpaces; ++i) {
118 size_t szval =
sizeof(char) * strlen(c->
var_vals[i].
val);
#define ICEDB_DEBUG_RAISE_EXCEPTION()
void error_context_add_string(struct ICEDB_error_context *c, size_t var_sz, const char *var_name, size_t val_sz, const char *var_val)
struct ICEDB_error_context * error_context_create_impl(int code, const char *file, int line, const char *fsig)
void error_context_widen(struct ICEDB_error_context *c, size_t numNewSpaces)
ICEDB_SYMBOL_SHARED void ICEDB_free(void *obj)
Free memory region. Should not be double-freed.
#define ICEDB_SYMBOL_PRIVATE
DL_ICEDB ICEDB_error_context_widen_f ICEDB_error_context_widen
#define ICEDB_error_context_append
void(* ICEDB_error_context_append_strA_f)(struct ICEDB_error_context *, const char *data)
ICEDB_error_context_var_val * var_vals
DL_ICEDB ICEDB_error_context_copy_f ICEDB_error_context_copy
DL_ICEDB ICEDB_error_context_appendA_f ICEDB_error_context_appendA
size_t message_size_alloced
#define ICEDB_error_context_add_string
ICEDB_BEGIN_DECL_C ICEDB_SYMBOL_SHARED size_t ICEDB_COMPAT_strncpy_s(char *dest, size_t destSz, const char *src, size_t srcSz)
void(* ICEDB_error_context_appendA_f)(struct ICEDB_error_context *, size_t sz, const char *data)
ICEDB_SYMBOL_SHARED char * ICEDB_COMPAT_strdup_s(const char *src, size_t srcSz)
ICEDB_SYMBOL_SHARED void * ICEDB_malloc(size_t numBytes)
Allocate memory in bytes. Generally this is just malloced, but a custom allocator may be substituted...
DL_ICEDB ICEDB_error_context_append_strA_f ICEDB_error_context_append_strA
size_t max_num_var_fields
ICEDB_SYMBOL_PRIVATE ICEDB_THREAD_LOCAL ICEDB_error_context * __ICEDB_LOCAL_THREAD_error_context
DL_ICEDB ICEDB_error_context_create_impl_f ICEDB_error_context_create_impl
struct ICEDB_error_context *(* ICEDB_error_context_create_impl_f)(int, const char *, int, const char *)
void error_context_append_str(struct ICEDB_error_context *c, const char *data)
ICEDB_SYMBOL_PRIVATE const char * ICEDB_ERRORCODES_MAP[ICEDB_ERRORCODES_TOTAL]
A convenience wrapper for all error functions.
DL_ICEDB ICEDB_error_context_add_string2A_f ICEDB_error_context_add_string2A
void error_context_append(struct ICEDB_error_context *c, size_t sz, const char *data)
#define ICEDB_error_context_add_string2
#define ICEDB_COMPAT_strnlen_s
DL_ICEDB ICEDB_error_context_add_stringA_f ICEDB_error_context_add_stringA
struct ICEDB_error_context * error_context_copy(const struct ICEDB_error_context *c)
void error_context_add_string2(struct ICEDB_error_context *c, const char *var_name, const char *var_val)
DL_ICEDB const struct ICEDB_error_context_container_ftable ICEDB_ct_error_context
void(* ICEDB_error_context_add_stringA_f)(struct ICEDB_error_context *, size_t var_sz, const char *var_name, size_t val_sz, const char *var_val)
void(* ICEDB_error_context_add_string2A_f)(struct ICEDB_error_context *, const char *var_name, const char *var_val)
void(* ICEDB_error_context_widen_f)(struct ICEDB_error_context *, size_t numNewSpaces)
#define ICEDB_error_context_create(x)
struct ICEDB_error_context *(* ICEDB_error_context_copy_f)(const struct ICEDB_error_context *)