// File: mh0fm4[P]SCDC/src/components/node/node_uds.cc
// Function: scdc_nodeport_uds::open_config_conf(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, scdc_args*, bool&)
bool scdc_nodeport_uds::open_config_conf(const std::string &conf, scdc_args *args, bool &done)
{
  done = true;
  bool ret = true;

  if (conf == "socketname")
  {
    const char *s;

    if (args->get<const char *>(SCDC_ARGS_TYPE_CSTR, &s) == SCDC_ARG_REF_NULL)
    {
      SCDC_ERROR("open_config_conf: getting socket name");
      ret = false;

    } else
    {
      SCDC_TRACE("open_config_conf: socketname: '" << s << "'");
      socketfile = make_uds_socketfile(s);
    }

  } else if (conf == "socketfile")
  {
    const char *s;

    if (args->get<const char *>(SCDC_ARGS_TYPE_CSTR, &s) == SCDC_ARG_REF_NULL)
    {
      SCDC_ERROR("open_config_conf: getting socket file");
      ret = false;

    } else
    {
      SCDC_TRACE("open_config_conf: socketfile: '" << s << "'");
      socketfile = s;
    }

  } else
  {
    done = false;
    ret = scdc_nodeport::open_config_conf(conf, args, done);
  }

  return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x20(%rbp), %rax
movb $0x1, (%rax)
movb $0x1, -0x21(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x14849(%rip), %rsi     # 0xa987f
callq 0x25b80
testb $0x1, %al
jne 0x95044
jmp 0x9511d
movq -0x18(%rbp), %rdi
movl $0x4, %esi
leaq -0x30(%rbp), %rdx
xorl %ecx, %ecx
callq 0x4d6c0
cmpq $0x0, %rax
jne 0x950ea
jmp 0x95064
leaq 0x3f63d(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e8e0
cmpq $0x0, %rax
je 0x950e2
leaq 0x3f628(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e900
leaq 0x3f619(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e8e0
movq %rax, %rdi
leaq 0x11407(%rip), %rsi     # 0xa64a8
callq 0xc670
movq %rax, %rdi
leaq 0x14786(%rip), %rsi     # 0xa9836
callq 0xc670
movq %rax, %rdi
leaq 0x147cb(%rip), %rsi     # 0xa988a
callq 0xc670
movq %rax, %rdi
movq 0x3eef2(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
leaq 0x3f5ce(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e920
jmp 0x950e4
movb $0x0, -0x21(%rbp)
jmp 0x95118
jmp 0x950ec
jmp 0x950ee
movq -0x30(%rbp), %rsi
leaq -0x50(%rbp), %rdi
callq 0x94b70
movq -0x60(%rbp), %rdi
addq $0x98, %rdi
leaq -0x50(%rbp), %rsi
callq 0xc850
leaq -0x50(%rbp), %rdi
callq 0xc3e0
jmp 0x95219
movq -0x10(%rbp), %rdi
leaq 0x14788(%rip), %rsi     # 0xa98b0
callq 0x25b80
testb $0x1, %al
jne 0x95136
jmp 0x951f6
movq -0x18(%rbp), %rdi
movl $0x4, %esi
leaq -0x58(%rbp), %rdx
xorl %ecx, %ecx
callq 0x4d6c0
cmpq $0x0, %rax
jne 0x951dc
jmp 0x95156
leaq 0x3f54b(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e8e0
cmpq $0x0, %rax
je 0x951d4
leaq 0x3f536(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e900
leaq 0x3f527(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e8e0
movq %rax, %rdi
leaq 0x11315(%rip), %rsi     # 0xa64a8
callq 0xc670
movq %rax, %rdi
leaq 0x14694(%rip), %rsi     # 0xa9836
callq 0xc670
movq %rax, %rdi
leaq 0x1470a(%rip), %rsi     # 0xa98bb
callq 0xc670
movq %rax, %rdi
movq 0x3ee00(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
leaq 0x3f4dc(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e920
jmp 0x951d6
movb $0x0, -0x21(%rbp)
jmp 0x951f4
jmp 0x951de
jmp 0x951e0
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rsi
addq $0x98, %rdi
callq 0xc920
jmp 0x95217
movq -0x60(%rbp), %rdi
movq -0x20(%rbp), %rax
movb $0x0, (%rax)
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x960e0
andb $0x1, %al
movb %al, -0x21(%rbp)
jmp 0x95219
movb -0x21(%rbp), %al
andb $0x1, %al
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)