46 state->str_append_fn(
state->user_data,
"\"", 1);
48 uint i_prev = 0, i = 0;
50 const char c =
str[i];
53 state->str_append_fn(
state->user_data,
str + i_prev, i - i_prev);
55 state->str_append_fn(
state->user_data,
"\\\"", 2);
60 state->str_append_fn(
state->user_data,
str + i_prev, i - i_prev);
62 state->str_append_fn(
state->user_data,
"\\\\", 2);
67 state->str_append_fn(
state->user_data,
str + i_prev, i - i_prev);
77 state->str_append_fn(
state->user_data,
str + i_prev, i - i_prev);
79 state->str_append_fn(
state->user_data,
"\"", 1);
86 #define STR_APPEND_STR(str) state->str_append_fn(state->user_data, str, (uint)strlen(str))
88 #define STR_APPEND_STR_QUOTE(str) idp_str_append_escape(state, str, (uint)strlen(str), true)
89 #define STR_APPEND_STR_LEN_QUOTE(str, str_len) idp_str_append_escape(state, str, str_len, true)
91 #define STR_APPEND_FMT(format, ...) \
92 state->str_append_fn( \
95 (uint)BLI_snprintf_rlen(state->buf, sizeof(state->buf), format, __VA_ARGS__))
189 #undef STR_APPEND_STR
190 #undef STR_APPEND_STR_QUOTE
191 #undef STR_APPEND_STR_LEN_QUOTE
192 #undef STR_APPEND_FMT
226 printf(
"IDProperty(%p): ", prop);
const char * BKE_idtype_idcode_to_name_plural(short idcode)
#define BLI_assert_unreachable()
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(const DynStr *ds) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
char * BLI_dynstr_get_cstring(const DynStr *ds) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BLI_dynstr_free(DynStr *ds) 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
SyclQueue void void size_t num_bytes void
#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)