// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/querymatch-display.c
// Function: gt_querymatch_display_flag_set
static int gt_querymatch_display_flag_set(char *copyspace,
                                          GtWord *parameter,
                                          GtSeedExtendDisplayFlag *display_flag,
                                          const char *arg,
                                          GtError *err)
{
  const char *exclude_list[] = {"alignment","cigar",
                                "alignment","cigarX",
                                "cigar","cigarX",
                                "blast","custom",
                                "trace","alignment",
                                "trace","cigar",
                                "trace","cigarX",
                                "dtrace","alignment",
                                "dtrace","cigar",
                                "dtrace","cigarX",
                                "dtrace","trace",
                                "gfa2","blast",
                                "gfa2","alignment",
                                "gfa2","custom",
                                "gfa2","failed_seed",
                                "gfa2","seed_in_algn"};
  size_t ex_idx, numexcl = sizeof exclude_list/sizeof exclude_list[0];
  const GtSEdisplayStruct *dstruct;
  const char *ptr;
  size_t cmplen = 0;

  gt_assert(display_flag != NULL && numexcl % 2 == 0);
  ptr = strchr(arg,'=');
  if (ptr != NULL)
  {
    cmplen = (size_t) (ptr - arg);
    if (sscanf(ptr+1,GT_WD,parameter) != 1)
    {
      gt_error_set(err,"illegal argument \"%s\" to option -outfmt: "
                       "expect integer following symbol =",arg);
      return -1;
    }
  }
  dstruct = gt_display_arg_get(copyspace,arg,cmplen);
  if (dstruct == NULL)
  {
    gt_error_set(err,"illegal identifier \"%s\" as argument of options "
                     "-outfmt, possible identifiers are: %s",arg,
                     GT_SE_POSSIBLE_DISPLAY_ARGS);
    return -1;
  }
  gt_querymatch_display_flag_add(display_flag,dstruct->flag);
  if (dstruct->flag == Gt_Seed_display)
  {
    gt_querymatch_display_flag_add(display_flag,Gt_Seed_len_display);
    gt_querymatch_display_flag_add(display_flag,Gt_Seed_s_display);
    gt_querymatch_display_flag_add(display_flag,Gt_Seed_q_display);
  }
  for (ex_idx = 0; ex_idx < numexcl; ex_idx+=2)
  {
    const GtSEdisplayStruct
      *dstruct0 = gt_display_arg_get(NULL,exclude_list[ex_idx],0),
      *dstruct1 = gt_display_arg_get(NULL,exclude_list[ex_idx+1],0);

    GT_SE_ASSERT_DISPLAY_ID(dstruct0,exclude_list[ex_idx]);
    GT_SE_ASSERT_DISPLAY_ID(dstruct1,exclude_list[ex_idx+1]);
    if ((display_flag->flags & gt_display_mask(dstruct0->flag)) &&
        (display_flag->flags & gt_display_mask(dstruct1->flag)))
    {
      gt_error_set(err,"argument \"%s\" and \"%s\" of option -outfmt exclude "
                       "each other",exclude_list[ex_idx],
                                    exclude_list[ex_idx+1]);
      return -1;
    }
  }
  return cmplen > 0 ? 1 : 0;
}

// Assembly:
subq $0x188, %rsp            # imm = 0x188
movq %rdi, 0x178(%rsp)
movq %rsi, 0x170(%rsp)
movq %rdx, 0x168(%rsp)
movq %rcx, 0x160(%rsp)
movq %r8, 0x158(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0x3d09c5(%rip), %rsi    # 0x636ec0
movl $0x100, %edx            # imm = 0x100
callq 0x19610
movq $0x20, 0x40(%rsp)
movq $0x0, 0x28(%rsp)
cmpq $0x0, 0x168(%rsp)
je 0x266531
movq 0x40(%rsp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x266569
movq 0x3d5a68(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2afad1(%rip), %rsi    # 0x516013
leaq 0x317649(%rip), %rdx    # 0x57db92
leaq 0x31766b(%rip), %rcx    # 0x57dbbb
leaq 0x31733f(%rip), %r8     # 0x57d896
movl $0xd8, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x26656b
movq 0x160(%rsp), %rdi
movl $0x3d, %esi
callq 0x19240
movq %rax, 0x30(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x2665f3
movq 0x30(%rsp), %rax
movq 0x160(%rsp), %rcx
subq %rcx, %rax
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rdi
addq $0x1, %rdi
movq 0x170(%rsp), %rdx
leaq 0x2e82b8(%rip), %rsi    # 0x54e86f
movb $0x0, %al
callq 0x19770
cmpl $0x1, %eax
je 0x2665f1
movq 0x158(%rsp), %rdi
movq 0x160(%rsp), %rdx
leaq 0x317600(%rip), %rsi    # 0x57dbda
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x184(%rsp) # imm = 0xFFFFFFFF
jmp 0x266836
jmp 0x2665f3
movq 0x178(%rsp), %rdi
movq 0x160(%rsp), %rsi
movq 0x28(%rsp), %rdx
callq 0x2671d0
movq %rax, 0x38(%rsp)
cmpq $0x0, 0x38(%rsp)
jne 0x26664f
movq 0x158(%rsp), %rdi
movq 0x160(%rsp), %rdx
leaq 0x3175f4(%rip), %rsi    # 0x57dc25
leaq 0x317642(%rip), %rcx    # 0x57dc7a
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x184(%rsp) # imm = 0xFFFFFFFF
jmp 0x266836
movq 0x168(%rsp), %rdi
movq 0x38(%rsp), %rax
movl 0x8(%rax), %esi
callq 0x267060
movq 0x38(%rsp), %rax
cmpl $0x3, 0x8(%rax)
jne 0x2666a5
movq 0x168(%rsp), %rdi
movl $0x20, %esi
callq 0x267060
movq 0x168(%rsp), %rdi
movl $0x21, %esi
callq 0x267060
movq 0x168(%rsp), %rdi
movl $0x22, %esi
callq 0x267060
movq $0x0, 0x48(%rsp)
movq 0x48(%rsp), %rax
cmpq 0x40(%rsp), %rax
jae 0x26681c
movq 0x48(%rsp), %rax
movq 0x50(%rsp,%rax,8), %rsi
xorl %eax, %eax
movl %eax, %edx
movq %rdx, %rdi
callq 0x2671d0
movq %rax, 0x20(%rsp)
movq 0x48(%rsp), %rax
movq 0x58(%rsp,%rax,8), %rsi
xorl %eax, %eax
movl %eax, %edx
movq %rdx, %rdi
callq 0x2671d0
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x266734
movq 0x3d589d(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
movq 0x48(%rsp), %rax
movq 0x50(%rsp,%rax,8), %r8
leaq 0x3176cc(%rip), %rsi    # 0x57dde3
leaq 0x317178(%rip), %rdx    # 0x57d896
movl $0xf9, %ecx
movb $0x0, %al
callq 0x199f0
movl $0x2, %edi
callq 0x19890
cmpq $0x0, 0x18(%rsp)
jne 0x266774
movq 0x3d585d(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
movq 0x48(%rsp), %rax
movq 0x58(%rsp,%rax,8), %r8
leaq 0x31768c(%rip), %rsi    # 0x57dde3
leaq 0x317138(%rip), %rdx    # 0x57d896
movl $0xfa, %ecx
movb $0x0, %al
callq 0x199f0
movl $0x2, %edi
callq 0x19890
movq 0x168(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movl 0x8(%rax), %edi
callq 0x266380
movq %rax, %rcx
movq 0x10(%rsp), %rax
andq %rcx, %rax
cmpq $0x0, %rax
je 0x266807
movq 0x168(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movl 0x8(%rax), %edi
callq 0x266380
movq %rax, %rcx
movq 0x8(%rsp), %rax
andq %rcx, %rax
cmpq $0x0, %rax
je 0x266807
movq 0x158(%rsp), %rdi
movq 0x48(%rsp), %rax
movq 0x50(%rsp,%rax,8), %rdx
movq 0x48(%rsp), %rax
movq 0x58(%rsp,%rax,8), %rcx
leaq 0x31760f(%rip), %rsi    # 0x57de02
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x184(%rsp) # imm = 0xFFFFFFFF
jmp 0x266836
jmp 0x266809
movq 0x48(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x48(%rsp)
jmp 0x2666ae
movq 0x28(%rsp), %rdx
xorl %eax, %eax
movl $0x1, %ecx
cmpq $0x0, %rdx
cmoval %ecx, %eax
movl %eax, 0x184(%rsp)
movl 0x184(%rsp), %eax
addq $0x188, %rsp            # imm = 0x188
retq
nopw %cs:(%rax,%rax)