60 state->str_append_fn(
state->user_data,
"\"", 1);
62 uint i_prev = 0, i = 0;
64 const char c =
str[i];
67 state->str_append_fn(
state->user_data,
str + i_prev, i - i_prev);
69 state->str_append_fn(
state->user_data,
"\\\"", 2);
74 state->str_append_fn(
state->user_data,
str + i_prev, i - i_prev);
76 state->str_append_fn(
state->user_data,
"\\\\", 2);
81 state->str_append_fn(
state->user_data,
str + i_prev, i - i_prev);
91 state->str_append_fn(
state->user_data,
str + i_prev, i - i_prev);
93 state->str_append_fn(
state->user_data,
"\"", 1);
100 #define STR_APPEND_STR(str) state->str_append_fn(state->user_data, str, (uint)strlen(str))
102 #define STR_APPEND_STR_QUOTE(str) idp_str_append_escape(state, str, (uint)strlen(str), true)
103 #define STR_APPEND_STR_LEN_QUOTE(str, str_len) idp_str_append_escape(state, str, str_len, true)
105 #define STR_APPEND_FMT(format, ...) \
106 state->str_append_fn( \
109 (uint)BLI_snprintf_rlen(state->buf, sizeof(state->buf), format, __VA_ARGS__))
111 switch (prop->
type) {
203 #undef STR_APPEND_STR
204 #undef STR_APPEND_STR_QUOTE
205 #undef STR_APPEND_STR_LEN_QUOTE
206 #undef STR_APPEND_FMT
240 printf(
"IDProperty(%p): ", prop);
const char * BKE_idtype_idcode_to_name_plural(const short idcode)
A dynamically sized string ADT.
DynStr * BLI_dynstr_new(void) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
void BLI_dynstr_nappend(DynStr *__restrict ds, const char *cstr, int len) ATTR_NONNULL()
int BLI_dynstr_get_len(DynStr *ds) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BLI_dynstr_free(DynStr *ds) ATTR_NONNULL()
char * BLI_dynstr_get_cstring(DynStr *ds) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
#define LISTBASE_FOREACH(type, var, list)
Strict compiler flags for areas of code we want to ensure don't do conversions without us knowing abo...
size_t BLI_snprintf_rlen(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
ID and Library types, which are fundamental for sdna.
Read Guarded memory(de)allocation.
ATTR_WARN_UNUSED_RESULT const BMVert * v
#define STR_APPEND_STR_LEN_QUOTE(str, str_len)
#define STR_APPEND_FMT(format,...)
static void idp_str_append_escape(struct ReprState *state, const char *str, const uint str_len, bool quote)
#define STR_APPEND_STR_QUOTE(str)
static void idp_repr_fn_recursive(struct ReprState *state, const IDProperty *prop)
static void repr_str(void *user_data, const char *str, uint len)
char * IDP_reprN(const IDProperty *prop, uint *r_len)
#define STR_APPEND_STR(str)
void IDP_print(const IDProperty *prop)
void IDP_repr_fn(const IDProperty *prop, void(*str_append_fn)(void *user_data, const char *str, uint str_len), void *user_data)
void(* MEM_freeN)(void *vmemh)
void(* str_append_fn)(void *user_data, const char *str, uint str_len)