// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/csvline_reader.c
// Function: gt_csvline_reader_next
bool gt_csvline_reader_next(GtCsvlineReader *csvline_reader,
                            FILE *inputfp,char separator)
{
  gt_assert(csvline_reader != NULL);
  gt_csvline_reader_clear(csvline_reader);
  csvline_reader->separator = separator;
  while (true)
  {
    int cc = fgetc(inputfp);

    if (cc == EOF)
    {
      break;
    }
    if (cc == '\n')
    {
      csvline_reader_append_char(csvline_reader,'\0');
      return true;
    }
    if (cc == csvline_reader->separator)
    {
      csvline_reader_append_char(csvline_reader,cc);
      GT_CHECKARRAYSPACE(&csvline_reader->columnoffset,GtUword,1024);
      csvline_reader->columnoffset.spaceGtUword[csvline_reader->
                                                columnoffset.nextfreeGtUword++]
        = csvline_reader->line.nextfreechar;
    } else
    {
      if (csvline_reader->empty && !isspace(cc))
      {
        csvline_reader->empty = false;
      }
      csvline_reader_append_char(csvline_reader,cc);
    }
  }
  return false;
}

// Assembly:
subq $0x28, %rsp
movb %dl, %al
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movb %al, 0xf(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0x11d214
movq 0x4dede5(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x3de3b0(%rip), %rsi    # 0x4fb59d
leaq 0x3e4922(%rip), %rdx    # 0x501b16
leaq 0x3e4989(%rip), %rcx    # 0x501b84
leaq 0x3e48fa(%rip), %r8     # 0x501afc
movl $0x61, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x11d216
movq 0x18(%rsp), %rdi
callq 0x11d0b0
movb 0xf(%rsp), %cl
movq 0x18(%rsp), %rax
movb %cl, 0x51(%rax)
movq 0x10(%rsp), %rdi
callq 0x31560
movl %eax, 0x8(%rsp)
cmpl $-0x1, 0x8(%rsp)
jne 0x11d246
jmp 0x11d3ee
cmpl $0xa, 0x8(%rsp)
jne 0x11d263
movq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x11d400
movb $0x1, 0x27(%rsp)
jmp 0x11d3f3
movl 0x8(%rsp), %eax
movq 0x18(%rsp), %rcx
movsbl 0x51(%rcx), %ecx
cmpl %ecx, %eax
jne 0x11d3a9
movq 0x18(%rsp), %rdi
movl 0x8(%rsp), %eax
movsbl %al, %esi
callq 0x11d400
movq 0x18(%rsp), %rax
movq 0x28(%rax), %rax
addq $0x0, %rax
movq 0x18(%rsp), %rcx
cmpq 0x20(%rcx), %rax
jb 0x11d333
movq $0x400, (%rsp)          # imm = 0x400
xorl %eax, %eax
cmpq (%rsp), %rax
jbe 0x11d2ed
movq 0x4ded0c(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x3de2d7(%rip), %rsi    # 0x4fb59d
leaq 0x3e48ce(%rip), %rdx    # 0x501b9b
leaq 0x3e48b0(%rip), %rcx    # 0x501b84
leaq 0x3e4821(%rip), %r8     # 0x501afc
movl $0x74, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x11d2ef
movq (%rsp), %rcx
movq 0x18(%rsp), %rax
addq 0x20(%rax), %rcx
movq %rcx, 0x20(%rax)
movq 0x18(%rsp), %rax
movq 0x18(%rax), %rdi
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rsi
shlq $0x3, %rsi
leaq 0x3e47df(%rip), %rdx    # 0x501afc
movl $0x74, %ecx
callq 0x2f910
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x18(%rax)
jmp 0x11d335
movq 0x18(%rsp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x11d379
movq 0x4dec80(%rip), %rax    # 0x5fbfc8
movq (%rax), %rdi
leaq 0x3de24b(%rip), %rsi    # 0x4fb59d
leaq 0x3e4853(%rip), %rdx    # 0x501bac
leaq 0x3e4824(%rip), %rcx    # 0x501b84
leaq 0x3e4795(%rip), %r8     # 0x501afc
movl $0x74, %r9d
movb $0x0, %al
callq 0x33960
callq 0x2f830
jmp 0x11d37b
jmp 0x11d37d
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rdx
movq 0x18(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rsp), %rsi
movq 0x28(%rsi), %rcx
movq %rcx, %rdi
addq $0x1, %rdi
movq %rdi, 0x28(%rsi)
movq %rdx, (%rax,%rcx,8)
jmp 0x11d3e9
movq 0x18(%rsp), %rax
testb $0x1, 0x50(%rax)
je 0x11d3d8
callq 0x311d0
movq (%rax), %rax
movslq 0x8(%rsp), %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
jne 0x11d3d8
movq 0x18(%rsp), %rax
movb $0x0, 0x50(%rax)
movq 0x18(%rsp), %rdi
movl 0x8(%rsp), %eax
movsbl %al, %esi
callq 0x11d400
jmp 0x11d22c
movb $0x0, 0x27(%rsp)
movb 0x27(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nop