Lines Matching refs:gadget
311 static inline void putchar_via_gadget(output_gadget_t* gadget, char c) in putchar_via_gadget() argument
313 printf_size_t write_pos = gadget->pos++; in putchar_via_gadget()
316 if (write_pos >= gadget->max_chars) { in putchar_via_gadget()
319 if (gadget->function != NULL) { in putchar_via_gadget()
321 gadget->function(c, gadget->extra_function_arg); in putchar_via_gadget()
326 gadget->buffer[write_pos] = c; in putchar_via_gadget()
331 static inline void append_termination_with_gadget(output_gadget_t* gadget) in append_termination_with_gadget() argument
333 if (gadget->function != NULL || gadget->max_chars == 0) { in append_termination_with_gadget()
336 if (gadget->buffer == NULL) { in append_termination_with_gadget()
339 …printf_size_t null_char_pos = gadget->pos < gadget->max_chars ? gadget->pos : gadget->max_chars - … in append_termination_with_gadget()
340 gadget->buffer[null_char_pos] = '\0'; in append_termination_with_gadget()
345 output_gadget_t gadget; in discarding_gadget() local
346 gadget.function = NULL; in discarding_gadget()
347 gadget.extra_function_arg = NULL; in discarding_gadget()
348 gadget.buffer = NULL; in discarding_gadget()
349 gadget.pos = 0; in discarding_gadget()
350 gadget.max_chars = 0; in discarding_gadget()
351 return gadget; in discarding_gadget()
1349 output_gadget_t gadget = buffer_gadget(buf, size); in rt_vsnprintf() local
1350 return vsnprintf_impl(&gadget, fmt, args); in rt_vsnprintf()