// File: /workspace/github_cpp_makefile_star2_O3/chlunde[P]qtar/qtar.cc
// Function: Traverser<CScan>::addpath(us_dirent&)
void addpath(struct us_dirent& file) {
		std::string fq = file.fq();
		std::string rel = fq.substr(root.length() + 1);
		std::string uname, gname;
		const struct stat& st = file.stat();
		uname = lookup_uname(st.st_uid);
		gname = lookup_gname(st.st_gid);
#if 0
		std::cout << "addPATH " << fq << "\t" << file.d_ino << "\t" << file.is_file() << std::endl;
#endif
		struct archive_entry *entry = archive_entry_new();

		archive_entry_copy_stat(entry, &file.stat());
		if (uname.size())
			archive_entry_set_uname(entry, uname.c_str());
		if (gname.size())
			archive_entry_set_gname(entry, gname.c_str());
		archive_entry_set_pathname(entry, rel.c_str());
		int r = archive_write_header(a, entry);
		if (r != ARCHIVE_OK)
			errx(EXIT_FAILURE, "archive_write_header failed: %s, %s", rel.c_str(), archive_error_string(a));
		archive_entry_free(entry);
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x88(%rsp), %r15
movq %r15, %rdi
callq 0x3d7a
movq 0x10(%rbx), %rdx
incq %rdx
leaq 0x68(%rsp), %rdi
movq %r15, %rsi
movq $-0x1, %rcx
callq 0x2260
leaq 0x38(%rsp), %r13
movq %r13, -0x10(%r13)
xorl %eax, %eax
movq %rax, -0x8(%r13)
movb %al, (%r13)
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rax, -0x8(%rbp)
movb %al, (%rbp)
movq %r14, %rdi
callq 0x33d8
movq %rax, %r15
movl 0x1c(%rax), %edx
leaq 0x48(%rsp), %rdi
movq %rbx, %rsi
callq 0x54fc
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %r12
movq %r12, %rsi
callq 0x22b0
movq (%r12), %rdi
leaq 0x58(%rsp), %r12
cmpq %r12, %rdi
je 0x4303
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x2250
movl 0x20(%r15), %edx
leaq 0x48(%rsp), %rdi
movq %rbx, %rsi
callq 0x5642
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r15
movq %r15, %rsi
callq 0x22b0
movq (%r15), %rdi
cmpq %r12, %rdi
je 0x433b
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x2250
callq 0x2060
movq %rax, %r15
movq %r14, %rdi
callq 0x33d8
movq %r15, %rdi
movq %rax, %rsi
callq 0x2110
cmpq $0x0, 0x30(%rsp)
je 0x436b
movq 0x28(%rsp), %rsi
movq %r15, %rdi
callq 0x21a0
cmpq $0x0, 0x10(%rsp)
je 0x4380
movq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x22d0
movq 0x68(%rsp), %rsi
movq %r15, %rdi
callq 0x2150
movq (%rbx), %rdi
movq %r15, %rsi
callq 0x22f0
testl %eax, %eax
jne 0x4424
movq %r15, %rdi
callq 0x2070
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x43bf
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2250
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x43d6
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2250
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x43f1
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x2250
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4412
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x2250
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x68(%rsp), %r14
movq (%rbx), %rdi
callq 0x21f0
leaq 0x3c28(%rip), %rsi      # 0x8060
movl $0x1, %edi
movq %r14, %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0x23d0
jmp 0x4457
jmp 0x4457
jmp 0x4457
movq %rax, %rbx
jmp 0x44a3
jmp 0x4457
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x4471
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2250
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x4488
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2250
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x44a3
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x2250
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x44c4
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x2250
movq %rbx, %rdi
callq 0x2390