// File: /workspace/github_c_makefile_star2_O0/cktan[P]tomlc99/toml_cat.c
// Function: print_array
static void print_array(toml_array_t *curarr) {
  toml_datum_t d;
  toml_array_t *arr;
  toml_table_t *tab;
  const int n = toml_array_nelem(curarr);

  for (int i = 0; i < n; i++) {

    if (0 != (arr = toml_array_at(curarr, i))) {
      prindent();
      printf("[\n");
      indent++;
      print_array(arr);
      indent--;
      prindent();
      printf("],\n");
      continue;
    }

    if (0 != (tab = toml_table_at(curarr, i))) {
      prindent();
      printf("{\n");
      indent++;
      print_table(tab);
      indent--;
      prindent();
      printf("},\n");
      continue;
    }

    d = toml_string_at(curarr, i);
    if (d.ok) {
      prindent();
      print_string(d.u.s);
      printf(",\n");
      free(d.u.s);
      continue;
    }

    d = toml_bool_at(curarr, i);
    if (d.ok) {
      prindent();
      printf("%s,\n", d.u.b ? "true" : "false");
      continue;
    }

    d = toml_int_at(curarr, i);
    if (d.ok) {
      prindent();
      printf("%" PRId64 ",\n", d.u.i);
      continue;
    }

    d = toml_double_at(curarr, i);
    if (d.ok) {
      prindent();
      printf("%f,\n", d.u.d);
      continue;
    }

    d = toml_timestamp_at(curarr, i);
    if (d.ok) {
      prindent();
      print_timestamp(d);
      printf(",\n");
      free(d.u.ts);
      continue;
    }

    fflush(stdout);
    fprintf(stderr, "ERROR: unable to decode value in array\n");
    exit(1);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x3cb0
movl %eax, -0x2c(%rbp)
movl $0x0, -0x30(%rbp)
movl -0x30(%rbp), %eax
cmpl -0x2c(%rbp), %eax
jge 0x1b2f
movq -0x8(%rbp), %rdi
movl -0x30(%rbp), %esi
callq 0x3d90
movq %rax, %rcx
movq %rcx, -0x20(%rbp)
xorl %eax, %eax
cmpq %rcx, %rax
je 0x18fa
callq 0x1e50
leaq 0x677e(%rip), %rdi      # 0x8032
movb $0x0, %al
callq 0x10d0
movl 0x9863(%rip), %eax      # 0xb124
addl $0x1, %eax
movl %eax, 0x985a(%rip)      # 0xb124
movq -0x20(%rbp), %rdi
callq 0x1860
movl 0x984b(%rip), %eax      # 0xb124
addl $-0x1, %eax
movl %eax, 0x9842(%rip)      # 0xb124
callq 0x1e50
leaq 0x6747(%rip), %rdi      # 0x8035
movb $0x0, %al
callq 0x10d0
jmp 0x1b21
movq -0x8(%rbp), %rdi
movl -0x30(%rbp), %esi
callq 0x3de0
movq %rax, %rcx
movq %rcx, -0x28(%rbp)
xorl %eax, %eax
cmpq %rcx, %rax
je 0x1966
callq 0x1e50
leaq 0x671e(%rip), %rdi      # 0x803e
movb $0x0, %al
callq 0x10d0
movl 0x97f7(%rip), %eax      # 0xb124
addl $0x1, %eax
movl %eax, 0x97ee(%rip)      # 0xb124
movq -0x28(%rbp), %rdi
callq 0x14e0
movl 0x97df(%rip), %eax      # 0xb124
addl $-0x1, %eax
movl %eax, 0x97d6(%rip)      # 0xb124
callq 0x1e50
leaq 0x66e7(%rip), %rdi      # 0x8041
movb $0x0, %al
callq 0x10d0
jmp 0x1b21
movq -0x8(%rbp), %rdi
movl -0x30(%rbp), %esi
callq 0x53b0
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x10(%rbp)
cmpl $0x0, -0x18(%rbp)
je 0x19b9
callq 0x1e50
movq -0x10(%rbp), %rdi
callq 0x1b40
leaq 0x6692(%rip), %rdi      # 0x8036
movb $0x0, %al
callq 0x10d0
movq -0x10(%rbp), %rdi
callq 0x1030
jmp 0x1b21
movq -0x8(%rbp), %rdi
movl -0x30(%rbp), %esi
callq 0x5400
movl %eax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x10(%rbp)
cmpl $0x0, -0x18(%rbp)
je 0x1a12
callq 0x1e50
movl -0x10(%rbp), %ecx
leaq 0x6669(%rip), %rsi      # 0x805a
leaq 0x665d(%rip), %rax      # 0x8055
cmpl $0x0, %ecx
cmovneq %rax, %rsi
leaq 0x664a(%rip), %rdi      # 0x8050
movb $0x0, %al
callq 0x10d0
jmp 0x1b21
movq -0x8(%rbp), %rdi
movl -0x30(%rbp), %esi
callq 0x5450
movl %eax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x10(%rbp)
cmpl $0x0, -0x18(%rbp)
je 0x1a57
callq 0x1e50
movq -0x10(%rbp), %rsi
leaq 0x661a(%rip), %rdi      # 0x8065
movb $0x0, %al
callq 0x10d0
jmp 0x1b21
movq -0x8(%rbp), %rdi
movl -0x30(%rbp), %esi
callq 0x54a0
movl %eax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x10(%rbp)
cmpl $0x0, -0x18(%rbp)
je 0x1a9d
callq 0x1e50
movsd -0x10(%rbp), %xmm0
leaq 0x65df(%rip), %rdi      # 0x8070
movb $0x1, %al
callq 0x10d0
jmp 0x1b21
movq -0x8(%rbp), %rdi
movl -0x30(%rbp), %esi
callq 0x54f0
movl %eax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x10(%rbp)
cmpl $0x0, -0x18(%rbp)
je 0x1af0
callq 0x1e50
movl -0x18(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x1d60
leaq 0x6558(%rip), %rdi      # 0x8036
movb $0x0, %al
callq 0x10d0
movq -0x10(%rbp), %rdi
callq 0x1030
jmp 0x1b21
movq 0x94d9(%rip), %rax      # 0xafd0
movq (%rax), %rdi
callq 0x1180
movq 0x94f2(%rip), %rax      # 0xaff8
movq (%rax), %rdi
leaq 0x6590(%rip), %rsi      # 0x80a0
movb $0x0, %al
callq 0x1150
movl $0x1, %edi
callq 0x11a0
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x1882
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax,%rax)