// File: mh0fm4[P]SCDC/src/components/dataprov/dataprov_jobrun.cc
// Function: scdc_dataset_jobrun::read_job_params2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, scdc_dataprov_jobrun_job_params_proc_t&)
void read_job_params2(std::string &params, std::string &jobid, scdc_dataprov_jobrun_job_params_t &job_params)
    {
      stringlist pl(' ', params);
      string jobparams = pl.front_pop();

      /* if there exisits a jobid (i.e., a job is selected) and the first param does not contain a ':', then there are no job params to read */
      if (jobid.size() > 0 && jobparams.find(':') == string::npos) return;

      params = pl.conflate();

      stringlist jpl(':', jobparams);

      /* if there is no jobid (i.e. not even an empty jobid), then select an empty jobid and quit */
      if (!jpl.front_pop(jobid))
      {
        jobid.clear();
        return;
      }

      jobid = safe_jobid(jobid);

      /* FIXME: Liste von job_params_proc (= $TPN$ analog zu $NPT$) als notwendige Resourcen, Auswahl durch Range 'min-max' und Alternativen '...|...' (insb. f�r Nodenames) */

      string s, t;

      if (!jpl.front_pop(s)) return;

      size_t p;
      scdc_dataprov_jobrun_job_params_proc_t job_params_proc;

      while (s.size() > 0)
      {
        /* nt */
        p = s.find('-');
        sscanf(s.substr(0, p).c_str(), "%" scdcint_fmt, &job_params_proc.nt_max);
        if (p != string::npos)
        {
          job_params_proc.nt_min = job_params_proc.nt_max;
          sscanf(s.substr(0, p + 1).c_str(), "%" scdcint_fmt, &job_params_proc.nt_max);
        }

        if (!jpl.front_pop(s)) break;

        /* np */
        p = s.find('-');
        sscanf(s.substr(0, p).c_str(), "%" scdcint_fmt, &job_params_proc.np_max);
        if (p != string::npos)
        {
          job_params_proc.nt_min = job_params_proc.nt_max;
          sscanf(s.substr(0, p + 1).c_str(), "%" scdcint_fmt, &job_params_proc.np_max);
        }

        if (!jpl.front_pop(s)) break;

        /* node */
        p = s.find(',');
        job_params_proc.node = s.substr(0, p);

        if (p != string::npos)
        {
          s = s.substr(p);
          job_params = job_params_proc;
          job_params_proc = scdc_dataprov_jobrun_job_params_proc_t();
        }
      }

      job_params = job_params_proc;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x310, %rsp            # imm = 0x310
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x10(%rbp), %rsi
leaq -0x68(%rbp), %rdi
movq %rdi, -0x298(%rbp)
callq 0xc270
movq -0x298(%rbp), %rdx
leaq -0x48(%rbp), %rdi
movl $0x20, %esi
callq 0x5ff80
jmp 0x859f6
leaq -0x68(%rbp), %rdi
callq 0xc3e0
leaq -0x98(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x25b00
jmp 0x85a11
movq -0x18(%rbp), %rdi
callq 0xc460
cmpq $0x0, %rax
jbe 0x85a75
leaq -0x98(%rbp), %rdi
movl $0x3a, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0xc8e0
cmpq $-0x1, %rax
jne 0x85a75
movl $0x1, -0x9c(%rbp)
jmp 0x85fc2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x68(%rbp), %rdi
callq 0xc3e0
jmp 0x86019
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x86010
leaq -0xc0(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2e970
jmp 0x85a87
movq -0x10(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
movq %rsi, -0x2a0(%rbp)
callq 0xc850
movq -0x2a0(%rbp), %rdi
callq 0xc3e0
leaq -0x108(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0xc270
jmp 0x85abf
leaq -0xe8(%rbp), %rdi
movl $0x3a, %esi
leaq -0x108(%rbp), %rdx
callq 0x5ff80
jmp 0x85ad9
leaq -0x108(%rbp), %rdi
callq 0xc3e0
movq -0x18(%rbp), %rsi
leaq -0xe8(%rbp), %rdi
callq 0x26730
movb %al, -0x2a1(%rbp)
jmp 0x85afd
movb -0x2a1(%rbp), %al
testb $0x1, %al
jne 0x85b60
jmp 0x85b09
movq -0x18(%rbp), %rdi
callq 0xc8f0
movl $0x1, -0x9c(%rbp)
jmp 0x85fb6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x86004
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x108(%rbp), %rdi
callq 0xc3e0
jmp 0x86004
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x85ff8
movq -0x18(%rbp), %rdi
callq 0x81a90
movq %rax, -0x2b0(%rbp)
jmp 0x85b72
movq -0x2b0(%rbp), %rsi
movq -0x18(%rbp), %rdi
callq 0xc070
jmp 0x85b84
leaq -0x128(%rbp), %rdi
movq %rdi, -0x2c0(%rbp)
callq 0xc960
leaq -0x148(%rbp), %rdi
callq 0xc960
movq -0x2c0(%rbp), %rsi
leaq -0xe8(%rbp), %rdi
callq 0x26730
movb %al, -0x2b1(%rbp)
jmp 0x85bbe
movb -0x2b1(%rbp), %al
testb $0x1, %al
jne 0x85bea
jmp 0x85bca
movl $0x1, -0x9c(%rbp)
jmp 0x85f9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x85fe0
leaq -0x190(%rbp), %rdi
callq 0x85970
jmp 0x85bf8
jmp 0x85bfa
leaq -0x128(%rbp), %rdi
callq 0xc460
cmpq $0x0, %rax
jbe 0x85f76
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0x2c8(%rbp)
leaq -0x128(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
movl $0x2d, %esi
callq 0xc8e0
movq -0x2d0(%rbp), %rsi
movq -0x2c8(%rbp), %rdx
movq %rax, -0x150(%rbp)
movq -0x150(%rbp), %rcx
leaq -0x1b0(%rbp), %rdi
callq 0xc6b0
jmp 0x85c5d
leaq -0x1b0(%rbp), %rdi
callq 0xc260
movq %rax, %rdi
leaq -0x190(%rbp), %rdx
addq $0x8, %rdx
leaq 0x2303a(%rip), %rsi     # 0xa8cb8
movb $0x0, %al
callq 0xc640
leaq -0x1b0(%rbp), %rdi
callq 0xc3e0
cmpq $-0x1, -0x150(%rbp)
je 0x85d23
movq -0x188(%rbp), %rax
movq %rax, -0x190(%rbp)
movq -0x150(%rbp), %rcx
incq %rcx
xorl %eax, %eax
movl %eax, %edx
leaq -0x1d0(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0xc6b0
jmp 0x85cd0
leaq -0x1d0(%rbp), %rdi
callq 0xc260
movq %rax, %rdi
leaq -0x190(%rbp), %rdx
addq $0x8, %rdx
leaq 0x22fc7(%rip), %rsi     # 0xa8cb8
movb $0x0, %al
callq 0xc640
leaq -0x1d0(%rbp), %rdi
callq 0xc3e0
jmp 0x85d23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x190(%rbp), %rdi
callq 0x86060
jmp 0x85fe0
leaq -0xe8(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x26730
movb %al, -0x2d1(%rbp)
jmp 0x85d3e
movb -0x2d1(%rbp), %al
testb $0x1, %al
jne 0x85d4f
jmp 0x85d4a
jmp 0x85f76
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0x2e0(%rbp)
leaq -0x128(%rbp), %rdi
movq %rdi, -0x2e8(%rbp)
movl $0x2d, %esi
callq 0xc8e0
movq -0x2e8(%rbp), %rsi
movq -0x2e0(%rbp), %rdx
movq %rax, -0x150(%rbp)
movq -0x150(%rbp), %rcx
leaq -0x1f0(%rbp), %rdi
callq 0xc6b0
jmp 0x85d9c
leaq -0x1f0(%rbp), %rdi
callq 0xc260
movq %rax, %rdi
leaq -0x190(%rbp), %rdx
addq $0x18, %rdx
leaq 0x22efb(%rip), %rsi     # 0xa8cb8
movb $0x0, %al
callq 0xc640
leaq -0x1f0(%rbp), %rdi
callq 0xc3e0
cmpq $-0x1, -0x150(%rbp)
je 0x85e3f
movq -0x188(%rbp), %rax
movq %rax, -0x190(%rbp)
movq -0x150(%rbp), %rcx
incq %rcx
xorl %eax, %eax
movl %eax, %edx
leaq -0x210(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0xc6b0
jmp 0x85e0b
leaq -0x210(%rbp), %rdi
callq 0xc260
movq %rax, %rdi
leaq -0x190(%rbp), %rdx
addq $0x18, %rdx
leaq 0x22e8c(%rip), %rsi     # 0xa8cb8
movb $0x0, %al
callq 0xc640
leaq -0x210(%rbp), %rdi
callq 0xc3e0
leaq -0xe8(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x26730
movb %al, -0x2e9(%rbp)
jmp 0x85e5a
movb -0x2e9(%rbp), %al
testb $0x1, %al
jne 0x85e6b
jmp 0x85e66
jmp 0x85f76
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0x2f8(%rbp)
leaq -0x128(%rbp), %rdi
movq %rdi, -0x300(%rbp)
movl $0x2c, %esi
callq 0xc8e0
movq -0x300(%rbp), %rsi
movq -0x2f8(%rbp), %rdx
movq %rax, -0x150(%rbp)
movq -0x150(%rbp), %rcx
leaq -0x230(%rbp), %rdi
callq 0xc6b0
jmp 0x85eb8
leaq -0x190(%rbp), %rdi
addq $0x20, %rdi
leaq -0x230(%rbp), %rsi
callq 0xc850
leaq -0x230(%rbp), %rdi
callq 0xc3e0
cmpq $-0x1, -0x150(%rbp)
je 0x85f71
movq -0x150(%rbp), %rdx
leaq -0x250(%rbp), %rdi
leaq -0x128(%rbp), %rsi
movq $-0x1, %rcx
callq 0xc6b0
jmp 0x85f0c
leaq -0x128(%rbp), %rdi
leaq -0x250(%rbp), %rsi
movq %rsi, -0x308(%rbp)
callq 0xc850
movq -0x308(%rbp), %rdi
callq 0xc3e0
movq -0x20(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x840b0
jmp 0x85f44
leaq -0x290(%rbp), %rdi
callq 0x85970
jmp 0x85f52
leaq -0x190(%rbp), %rdi
leaq -0x290(%rbp), %rsi
callq 0x86080
leaq -0x290(%rbp), %rdi
callq 0x86060
jmp 0x85bfa
movq -0x20(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x840b0
jmp 0x85f88
leaq -0x190(%rbp), %rdi
callq 0x86060
movl $0x0, -0x9c(%rbp)
leaq -0x148(%rbp), %rdi
callq 0xc3e0
leaq -0x128(%rbp), %rdi
callq 0xc3e0
leaq -0xe8(%rbp), %rdi
callq 0x25c90
leaq -0x98(%rbp), %rdi
callq 0xc3e0
leaq -0x48(%rbp), %rdi
callq 0x25c90
addq $0x310, %rsp            # imm = 0x310
popq %rbp
retq
leaq -0x148(%rbp), %rdi
callq 0xc3e0
leaq -0x128(%rbp), %rdi
callq 0xc3e0
leaq -0xe8(%rbp), %rdi
callq 0x25c90
leaq -0x98(%rbp), %rdi
callq 0xc3e0
leaq -0x48(%rbp), %rdi
callq 0x25c90
movq -0x70(%rbp), %rdi
callq 0xcba0
nopw %cs:(%rax,%rax)
nopl (%rax)