// File: /workspace/github_c_makefile_star2_O0/wahern[P]cqueues/src/lib/dns.c
// Function: dns_b_fmtju
DNS_NOTUSED static inline dns_error_t
dns_b_fmtju(struct dns_buf *b, const uintmax_t u, const unsigned width)
{
	size_t digits, padding, overflow;
	uintmax_t r;
	unsigned char *tp, *te, tc;

	digits = 0;
	r = u;
	do {
		digits++;
		r /= 10;
	} while (r);

	padding = width - DNS_PP_MIN(digits, width);
	overflow = (digits + padding) - DNS_PP_MIN((size_t)(b->pe - b->p), (digits + padding));

	while (padding--) {
		dns_b_putc(b, '0');
	}

	digits = 0;
	tp = b->p;
	r = u;
	do {
		if (overflow < ++digits)
			dns_b_putc(b, '0' + (r % 10));
		r /= 10;
	} while (r);

	te = b->p;
	while (tp < te) {
		tc = *--te;
		*te = *tp;
		*tp++ = tc;
	}

	return b->error;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq $0x0, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
movq -0x38(%rbp), %rax
movl $0xa, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x35c53
movl -0x14(%rbp), %eax
movq %rax, -0x58(%rbp)
movq -0x20(%rbp), %rax
movl -0x14(%rbp), %ecx
cmpq %rcx, %rax
jae 0x35c95
movq -0x20(%rbp), %rax
movq %rax, -0x60(%rbp)
jmp 0x35c9c
movl -0x14(%rbp), %eax
movq %rax, -0x60(%rbp)
movq -0x58(%rbp), %rax
movq -0x60(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
addq -0x28(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x8(%rcx), %rcx
subq %rcx, %rax
movq -0x20(%rbp), %rcx
addq -0x28(%rbp), %rcx
cmpq %rcx, %rax
jae 0x35cf0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x8(%rcx), %rcx
subq %rcx, %rax
movq %rax, -0x70(%rbp)
jmp 0x35cfc
movq -0x20(%rbp), %rax
addq -0x28(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x68(%rbp), %rax
movq -0x70(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x28(%rbp)
cmpq $0x0, %rax
je 0x35d30
movq -0x8(%rbp), %rdi
movl $0x30, %esi
callq 0x35b10
jmp 0x35d0b
movq $0x0, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
movq -0x20(%rbp), %rcx
addq $0x1, %rcx
movq %rcx, -0x20(%rbp)
cmpq %rcx, %rax
jae 0x35d81
movq -0x8(%rbp), %rdi
movq -0x38(%rbp), %rax
movl $0xa, %ecx
xorl %edx, %edx
divq %rcx
addq $0x30, %rdx
movb %dl, %al
movzbl %al, %esi
callq 0x35b10
movq -0x38(%rbp), %rax
movl $0xa, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x35d4c
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rax
cmpq -0x48(%rbp), %rax
jae 0x35de7
movq -0x48(%rbp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x48(%rbp)
movb -0x1(%rax), %al
movb %al, -0x49(%rbp)
movq -0x40(%rbp), %rax
movb (%rax), %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movb -0x49(%rbp), %cl
movq -0x40(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x40(%rbp)
movb %cl, (%rax)
jmp 0x35da6
movq -0x8(%rbp), %rax
movl 0x18(%rax), %eax
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)