From 8d67b032313f77dbdc3e5bc61da946981ef8a807 Mon Sep 17 00:00:00 2001 From: David Bigagli <david@schedmd.com> Date: Tue, 6 Jan 2015 14:11:07 -0800 Subject: [PATCH] Fix the size of array_task_id in fname.c from 16 to 32 bit. --- src/srun/libsrun/fname.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/srun/libsrun/fname.c b/src/srun/libsrun/fname.c index 419ccc09559..eda68894250 100644 --- a/src/srun/libsrun/fname.c +++ b/src/srun/libsrun/fname.c @@ -72,8 +72,9 @@ fname_create(srun_job_t *job, char *format) fname_t *fname = NULL; char *p, *q, *name, *tmp_env; uint32_t array_job_id = job->jobid; - uint16_t array_task_id = (uint16_t) NO_VAL; + uint32_t array_task_id = NO_VAL; char *esc; + char *end; fname = xmalloc(sizeof(*fname)); fname->type = IO_ALL; @@ -141,17 +142,17 @@ fname_create(srun_job_t *job, char *format) case 'a': /* '%a' => array task id */ tmp_env = getenv("SLURM_ARRAY_TASK_ID"); if (tmp_env) - array_task_id = atoi(tmp_env); + array_task_id = strtoul(tmp_env, &end, 10); xmemcat(name, q, p - 1); - xstrfmtcat(name, "%0*d", wid, array_task_id); + xstrfmtcat(name, "%0*u", wid, array_task_id); q = ++p; break; case 'A': /* '%A' => array master job id */ tmp_env = getenv("SLURM_ARRAY_JOB_ID"); if (tmp_env) - array_job_id = atoi(tmp_env); + array_job_id = strtoul(tmp_env, &end, 10); xmemcat(name, q, p - 1); - xstrfmtcat(name, "%0*d", wid, array_job_id); + xstrfmtcat(name, "%0*u", wid, array_job_id); q = ++p; break; -- GitLab