Lines Matching refs:len
398 static void out_rev_(output_gadget_t* output, const char* buf, printf_size_t len, printf_size_t wid… in out_rev_() argument
404 for (printf_size_t i = len; i < width; i++) { in out_rev_()
410 while (len) { in out_rev_()
411 putchar_via_gadget(output, buf[--len]); in out_rev_()
425 static void print_integer_finalization(output_gadget_t* output, char* buf, printf_size_t len, bool … in print_integer_finalization() argument
427 printf_size_t unpadded_len = len; in print_integer_finalization()
435 …while ((flags & FLAGS_ZEROPAD) && (len < width) && (len < RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_… in print_integer_finalization()
436 buf[len++] = '0'; in print_integer_finalization()
440 while ((len < precision) && (len < RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE)) { in print_integer_finalization()
441 buf[len++] = '0'; in print_integer_finalization()
444 if (base == BASE_OCTAL && (len > unpadded_len)) { in print_integer_finalization()
452 if (!(flags & FLAGS_PRECISION) && len && ((len == precision) || (len == width))) { in print_integer_finalization()
455 if (unpadded_len < len) { in print_integer_finalization()
456 len--; // This should suffice for BASE_OCTAL in print_integer_finalization()
458 if (len && (base == BASE_HEX || base == BASE_BINARY) && (unpadded_len < len)) { in print_integer_finalization()
459 len--; // ... and an extra one for 0x or 0b in print_integer_finalization()
462 …if ((base == BASE_HEX) && !(flags & FLAGS_UPPERCASE) && (len < RT_KLIBC_USING_VSNPRINTF_INTEGER_BU… in print_integer_finalization()
463 buf[len++] = 'x'; in print_integer_finalization()
465 …else if ((base == BASE_HEX) && (flags & FLAGS_UPPERCASE) && (len < RT_KLIBC_USING_VSNPRINTF_INTEGE… in print_integer_finalization()
466 buf[len++] = 'X'; in print_integer_finalization()
468 else if ((base == BASE_BINARY) && (len < RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE)) { in print_integer_finalization()
469 buf[len++] = 'b'; in print_integer_finalization()
471 if (len < RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE) { in print_integer_finalization()
472 buf[len++] = '0'; in print_integer_finalization()
476 if (len < RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE) { in print_integer_finalization()
478 buf[len++] = '-'; in print_integer_finalization()
481 buf[len++] = '+'; // ignore the space if the '+' exists in print_integer_finalization()
484 buf[len++] = ' '; in print_integer_finalization()
488 out_rev_(output, buf, len, width, flags); in print_integer_finalization()
495 printf_size_t len = 0U; in print_integer() local
499 buf[len++] = '0'; in print_integer()
514 …buf[len++] = (char)(digit < 10 ? '0' + digit : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10); in print_integer()
516 } while (value && (len < RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE)); in print_integer()
519 print_integer_finalization(output, buf, len, negative, base, precision, width, flags); in print_integer()
673 printf_size_t width, printf_flags_t flags, char *buf, printf_size_t len) in print_broken_up_decimal() argument
696 while (len < RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE) { in print_broken_up_decimal()
698 buf[len++] = (char)('0' + number_.fractional % 10U); in print_broken_up_decimal()
704 while ((len < RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE) && (count > 0U)) { in print_broken_up_decimal()
705 buf[len++] = '0'; in print_broken_up_decimal()
708 if (len < RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE) { in print_broken_up_decimal()
709 buf[len++] = '.'; in print_broken_up_decimal()
714 if ((flags & FLAGS_HASH) && (len < RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE)) { in print_broken_up_decimal()
715 buf[len++] = '.'; in print_broken_up_decimal()
721 while (len < RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE) { in print_broken_up_decimal()
722 buf[len++] = (char)('0' + (number_.integral % 10)); in print_broken_up_decimal()
733 while ((len < width) && (len < RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE)) { in print_broken_up_decimal()
734 buf[len++] = '0'; in print_broken_up_decimal()
738 if (len < RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE) { in print_broken_up_decimal()
740 buf[len++] = '-'; in print_broken_up_decimal()
743 buf[len++] = '+'; // ignore the space if the '+' exists in print_broken_up_decimal()
746 buf[len++] = ' '; in print_broken_up_decimal()
750 out_rev_(output, buf, len, width, flags); in print_broken_up_decimal()
754 …, printf_size_t precision, printf_size_t width, printf_flags_t flags, char* buf, printf_size_t len) in print_decimal_number() argument
757 print_broken_up_decimal(value_, output, precision, width, flags, buf, len); in print_decimal_number()
824 …, printf_size_t precision, printf_size_t width, printf_flags_t flags, char* buf, printf_size_t len) in print_exponential_number() argument
920 …broken_up_decimal(decimal_part_components, output, precision, decimal_part_width, flags, buf, len); in print_exponential_number()
941 printf_size_t len = 0U; in print_floating_point() local
963 print_exponential_number(output, value, precision, width, flags, buf, len); in print_floating_point()
974 …while ((len < RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE) && (precision > PRINTF_MAX_SUPPORTED_P… in print_floating_point()
975 buf[len++] = '0'; // This respects the precision in terms of result length only in print_floating_point()
981 print_exponential_number(output, value, precision, width, flags, buf, len); in print_floating_point()
984 print_decimal_number(output, value, precision, width, flags, buf, len); in print_floating_point()