From 8d811201d4deaf80f8b5bef9513511f6775a1eb8 Mon Sep 17 00:00:00 2001 From: David Bigagli <david@schedmd.com> Date: Mon, 23 Mar 2015 13:19:20 -0700 Subject: [PATCH] Fix _parse_array_tok. --- NEWS | 2 ++ src/slurmctld/job_mgr.c | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/NEWS b/NEWS index 6e073c12707..a56226318bd 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,8 @@ documents those changes that are of interest to users and administrators. -- RequeueExit and RequeueExitHold configuration parameters modified to accept numeric ranges. For example "RequeueExit=1,2,3,4" and "RequeueExit=1-4" are equivalent. + -- Correct the job array specification parser to accept [x-y] format when + operating on job arrays. * Changes in Slurm 14.11.5 ========================== diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index c7d037609c4..f342a33b5ba 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -5651,6 +5651,26 @@ static bool _parse_array_tok(char *tok, bitstr_t *array_bitmap, uint32_t max) { char *end_ptr = NULL; int i, first, last, step = 1; + char *p; + + /* Strip [] + */ + i = 0; + p = tok; + while (*tok) { + if (*tok == '[' + || *tok == ']') { + *tok = ' '; + ++i; + ++tok; + } + ++tok; + } + tok = p; + if (i) { + ++tok; + tok[strlen(tok) - 1] = 0; + } first = strtol(tok, &end_ptr, 10); if (first < 0) -- GitLab