// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/io.c
// Function: gt_io_expect
int gt_io_expect(GtIO *io, char expected_char, GtError *err)
{
  char cc;
  gt_error_check(err);
  cc = gt_io_next(io);
  if (cc != expected_char) {
    if (expected_char == GT_END_OF_LINE && cc == GT_CARRIAGE_RETURN) {
      if (gt_io_peek(io) == GT_END_OF_LINE)
        gt_io_next(io);
      return 0;
    }
    if (expected_char == GT_END_OF_FILE) {
      gt_error_set(err, "file \"%s\": line "GT_WU": expected end-of-file, got "
                   "'%c'",
                   gt_io_get_filename(io), gt_io_get_line_number(io), cc);
    }
    else if ((cc == GT_CARRIAGE_RETURN) || (cc == GT_END_OF_LINE)) {
      gt_error_set(err, "file \"%s\": line "GT_WU": expected character '%c', "
                   "got newline",
                   gt_io_get_filename(io), gt_io_get_line_number(io),
                   expected_char);
    }
    else {
      gt_error_set(err, "file \"%s\": line "GT_WU": expected character '%c', "
                   "got '%c'",
                   gt_io_get_filename(io), gt_io_get_line_number(io),
                   expected_char, cc);
    }
    return -1;
  }
  return 0;
}

// Assembly:
subq $0x58, %rsp
movb %sil, %al
movq %rdi, 0x48(%rsp)
movb %al, 0x47(%rsp)
movq %rdx, 0x38(%rsp)
cmpq $0x0, 0x38(%rsp)
je 0xe1cf5
movq 0x38(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0xe1cbd
jmp 0xe1cf5
movq 0xd2314(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x7c398(%rip), %rsi     # 0x15e066
leaq 0x7c973(%rip), %rdx     # 0x15e648
leaq 0x96c4c(%rip), %rcx     # 0x178928
leaq 0x96b77(%rip), %r8      # 0x17885a
movl $0x80, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe1cf7
movq 0x48(%rsp), %rdi
callq 0xe1b10
movb %al, 0x37(%rsp)
movsbl 0x37(%rsp), %eax
movsbl 0x47(%rsp), %ecx
cmpl %ecx, %eax
je 0xe1e55
movsbl 0x47(%rsp), %eax
cmpl $0xa, %eax
jne 0xe1d54
movsbl 0x37(%rsp), %eax
cmpl $0xd, %eax
jne 0xe1d54
movq 0x48(%rsp), %rdi
callq 0xe1a90
movsbl %al, %eax
cmpl $0xa, %eax
jne 0xe1d47
movq 0x48(%rsp), %rdi
callq 0xe1b10
movl $0x0, 0x54(%rsp)
jmp 0xe1e5d
movsbl 0x47(%rsp), %eax
cmpl $-0x1, %eax
jne 0xe1da7
movq 0x38(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x48(%rsp), %rdi
callq 0xe1bd0
movq %rax, 0x28(%rsp)
movq 0x48(%rsp), %rdi
callq 0xe1b80
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rdx
movq %rax, %rcx
movsbl 0x37(%rsp), %r8d
leaq 0x96b9a(%rip), %rsi     # 0x178935
movb $0x0, %al
callq 0xc0d0
jmp 0xe1e4b
movsbl 0x37(%rsp), %eax
cmpl $0xd, %eax
je 0xe1dbb
movsbl 0x37(%rsp), %eax
cmpl $0xa, %eax
jne 0xe1e01
movq 0x38(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x48(%rsp), %rdi
callq 0xe1bd0
movq %rax, 0x18(%rsp)
movq 0x48(%rsp), %rdi
callq 0xe1b80
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rdx
movq %rax, %rcx
movsbl 0x47(%rsp), %r8d
leaq 0x96b71(%rip), %rsi     # 0x178969
movb $0x0, %al
callq 0xc0d0
jmp 0xe1e49
movq 0x38(%rsp), %rax
movq %rax, (%rsp)
movq 0x48(%rsp), %rdi
callq 0xe1bd0
movq %rax, 0x8(%rsp)
movq 0x48(%rsp), %rdi
callq 0xe1b80
movq (%rsp), %rdi
movq 0x8(%rsp), %rdx
movq %rax, %rcx
movsbl 0x47(%rsp), %r8d
movsbl 0x37(%rsp), %r9d
leaq 0x96b61(%rip), %rsi     # 0x1789a3
movb $0x0, %al
callq 0xc0d0
jmp 0xe1e4b
movl $0xffffffff, 0x54(%rsp) # imm = 0xFFFFFFFF
jmp 0xe1e5d
movl $0x0, 0x54(%rsp)
movl 0x54(%rsp), %eax
addq $0x58, %rsp
retq
nopw %cs:(%rax,%rax)