// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/string.cpp
// Function: smooth::String::DeleteTemporaryBuffers(bool)
S::Void S::String::DeleteTemporaryBuffers(Bool all)
{
	/* Free all but the most recent 8 buffers.
	 */
	if (allocatedBuffers != NIL)
	{
		Int	 nOfEntries = allocatedBuffers->Length();

		for (Int i = 0; i < nOfEntries - (all ? 0 : 8); i++)
		{
			delete [] allocatedBuffers->GetFirst();

			allocatedBuffers->RemoveNth(0);
		}

		if (all)
		{
			delete allocatedBuffers;

			allocatedBuffers = NIL;
		}
	}

	/* When purging all, also free iconv buffer and I/O format strings.
	 */
	if (all)
	{
		if (iconvBuffer) delete iconvBuffer;

		if (inputFormat	 != NIL) delete [] inputFormat;
		if (outputFormat != NIL) delete [] outputFormat;

		inputFormat  = NIL;
		outputFormat = NIL;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movb %dil, %al
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq 0x115cd9(%rip), %rdi    # 0x208300
callq 0x5abb0
leaq 0x8(%rax), %rax
cmpq $0x0, (%rax)
je 0xf2726
leaq 0x115cbc(%rip), %rdi    # 0x208300
callq 0x5abb0
leaq 0x8(%rax), %rax
movq (%rax), %rdi
callq 0x5c990
movl %eax, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movl -0x8(%rbp), %ecx
movb -0x1(%rbp), %dil
movl $0x8, %edx
xorl %esi, %esi
testb $0x1, %dil
cmovnel %esi, %edx
subl %edx, %ecx
cmpl %ecx, %eax
jge 0xf26da
leaq 0x115c79(%rip), %rdi    # 0x208300
callq 0x5abb0
leaq 0x8(%rax), %rax
movq (%rax), %rdi
callq 0xf5630
movq (%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
je 0xf26b1
movq -0x18(%rbp), %rdi
callq 0x5a5e0
leaq 0x115c48(%rip), %rdi    # 0x208300
callq 0x5abb0
leaq 0x8(%rax), %rax
movq (%rax), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *0x18(%rax)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0xf2662
testb $0x1, -0x1(%rbp)
je 0xf2724
leaq 0x115c19(%rip), %rdi    # 0x208300
callq 0x5abb0
leaq 0x8(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0xf270a
movq -0x20(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x115bef(%rip), %rdi    # 0x208300
callq 0x5abb0
leaq 0x8(%rax), %rax
movq $0x0, (%rax)
jmp 0xf2726
testb $0x1, -0x1(%rbp)
je 0xf2831
leaq 0x115bc9(%rip), %rdi    # 0x208300
callq 0x5abb0
leaq 0x10(%rax), %rax
cmpq $0x0, (%rax)
je 0xf2775
leaq 0x115bb0(%rip), %rdi    # 0x208300
callq 0x5abb0
leaq 0x10(%rax), %rax
movq (%rax), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
je 0xf2773
movq -0x28(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0xf2775
leaq 0x115b84(%rip), %rdi    # 0x208300
callq 0x5abb0
leaq 0x18(%rax), %rax
cmpq $0x0, (%rax)
je 0xf27b9
leaq 0x115b6b(%rip), %rdi    # 0x208300
callq 0x5abb0
leaq 0x18(%rax), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0xf27b7
movq -0x30(%rbp), %rdi
callq 0x5a5e0
jmp 0xf27b9
leaq 0x115b40(%rip), %rdi    # 0x208300
callq 0x5abb0
leaq 0x20(%rax), %rax
cmpq $0x0, (%rax)
je 0xf27fd
leaq 0x115b27(%rip), %rdi    # 0x208300
callq 0x5abb0
leaq 0x20(%rax), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, %rax
je 0xf27fb
movq -0x38(%rbp), %rdi
callq 0x5a5e0
jmp 0xf27fd
leaq 0x115afc(%rip), %rdi    # 0x208300
callq 0x5abb0
leaq 0x18(%rax), %rax
movq $0x0, (%rax)
leaq 0x115ae2(%rip), %rdi    # 0x208300
callq 0x5abb0
leaq 0x20(%rax), %rax
movq $0x0, (%rax)
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)