// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/index_options.c
// Function: gt_index_options_check_set_out_opts
static int gt_index_options_check_set_out_opts(void *oip, GtError *err)
{
  int had_err = 0;
  GtIndexOptions *oi = (GtIndexOptions*) oip;
  gt_assert(oi != NULL && oi->type != GT_INDEX_OPTIONS_UNDEFINED);
  gt_error_check(err);

  if (!had_err) {
    int retval;
    retval = gt_readmode_parse(gt_str_get(oi->dir), err);
    if (retval < 0) {
      had_err = -1;
    } else {
      oi->readmode = (GtReadmode) retval;
      if (oi->type == GT_INDEX_OPTIONS_PACKED
            && (oi->readmode == GT_READMODE_COMPL
                  || oi->readmode == GT_READMODE_REVCOMPL)) {
        gt_error_set(err,"construction of packed index not possible for "
                         "complemented and for reverse complemented sequences");
        had_err = -1;
      }
    }
  }
  if (!had_err && oi->type == GT_INDEX_OPTIONS_PACKED) {
#ifndef S_SPLINT_S
    gt_computePackedIndexDefaults(&oi->bwtIdxParams, BWTBaseFeatures);
#endif
  }
  if (!had_err && gt_option_is_set(oi->optionkys)) {
    oi->outkystab = true;
    if (strcmp(gt_str_get(oi->kysargumentstring), "sort") == 0) {
      oi->outkyssort = true;
    } else {
      if (strcmp(gt_str_get(oi->kysargumentstring),"nosort") != 0) {
        gt_error_set(err,"illegal argument to option -kys: either use no "
                         "argument or argument \"sort\"");
        had_err = -1;
      }
    }
  }

  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movl $0x0, 0x14(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x25d476
movq 0x8(%rsp), %rax
cmpl $0x0, 0x88(%rax)
jne 0x25d4ae
movq 0x3deb23(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b8b8c(%rip), %rsi    # 0x516013
leaq 0x31df3b(%rip), %rdx    # 0x57b3c9
leaq 0x31e19e(%rip), %rcx    # 0x57b633
leaq 0x31d7b4(%rip), %r8     # 0x57ac50
movl $0xea, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x25d4b0
jmp 0x25d4b2
cmpq $0x0, 0x18(%rsp)
je 0x25d502
movq 0x18(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x25d4ca
jmp 0x25d502
movq 0x3deacf(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b8b38(%rip), %rsi    # 0x516013
leaq 0x2b8cdd(%rip), %rdx    # 0x5161bf
leaq 0x31e14a(%rip), %rcx    # 0x57b633
leaq 0x31d760(%rip), %r8     # 0x57ac50
movl $0xeb, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x25d504
cmpl $0x0, 0x14(%rsp)
jne 0x25d58a
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
movq 0x18(%rsp), %rsi
callq 0x1099b0
movl %eax, 0x4(%rsp)
cmpl $0x0, 0x4(%rsp)
jge 0x25d53b
movl $0xffffffff, 0x14(%rsp) # imm = 0xFFFFFFFF
jmp 0x25d588
movl 0x4(%rsp), %ecx
movq 0x8(%rsp), %rax
movl %ecx, 0x18(%rax)
movq 0x8(%rsp), %rax
cmpl $0x2, 0x88(%rax)
jne 0x25d586
movq 0x8(%rsp), %rax
cmpl $0x2, 0x18(%rax)
je 0x25d56b
movq 0x8(%rsp), %rax
cmpl $0x3, 0x18(%rax)
jne 0x25d586
movq 0x18(%rsp), %rdi
leaq 0x31e0e0(%rip), %rsi    # 0x57b657
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x14(%rsp) # imm = 0xFFFFFFFF
jmp 0x25d588
jmp 0x25d58a
cmpl $0x0, 0x14(%rsp)
jne 0x25d5b2
movq 0x8(%rsp), %rax
cmpl $0x2, 0x88(%rax)
jne 0x25d5b2
movq 0x8(%rsp), %rdi
addq $0x118, %rdi            # imm = 0x118
xorl %esi, %esi
callq 0x224d20
cmpl $0x0, 0x14(%rsp)
jne 0x25d64b
movq 0x8(%rsp), %rax
movq 0x110(%rax), %rdi
callq 0xf74a0
testb $0x1, %al
jne 0x25d5d4
jmp 0x25d64b
movq 0x8(%rsp), %rax
movb $0x1, 0x20(%rax)
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
leaq 0x31db15(%rip), %rsi    # 0x57b10a
callq 0x19980
cmpl $0x0, %eax
jne 0x25d60a
movq 0x8(%rsp), %rax
movb $0x1, 0x21(%rax)
jmp 0x25d649
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
leaq 0x31df02(%rip), %rsi    # 0x57b524
callq 0x19980
cmpl $0x0, %eax
je 0x25d647
movq 0x18(%rsp), %rdi
leaq 0x31e081(%rip), %rsi    # 0x57b6b9
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x14(%rsp) # imm = 0xFFFFFFFF
jmp 0x25d649
jmp 0x25d64b
movl 0x14(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
nop