From 0c89f53ae681396f6c25e575dab327d1a8172bc6 Mon Sep 17 00:00:00 2001 From: Danny Auble <da@llnl.gov> Date: Mon, 8 Nov 2010 21:37:49 +0000 Subject: [PATCH] fixes for some default issues --- src/sacctmgr/user_functions.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/sacctmgr/user_functions.c b/src/sacctmgr/user_functions.c index 4cf716645e2..cc22bf56d3c 100644 --- a/src/sacctmgr/user_functions.c +++ b/src/sacctmgr/user_functions.c @@ -844,10 +844,6 @@ extern int sacctmgr_add_user(int argc, char *argv[]) return SLURM_ERROR; } - if (!default_acct) - default_acct = - xstrdup(list_peek(assoc_cond->acct_list)); - memset(&query_assoc_cond, 0, sizeof(slurmdb_association_cond_t)); query_assoc_cond.acct_list = assoc_cond->acct_list; @@ -868,9 +864,6 @@ extern int sacctmgr_add_user(int argc, char *argv[]) } if(track_wckey || default_wckey) { - if(!default_wckey) - default_wckey = - xstrdup(list_peek(wckey_cond->name_list)); wckey_cond->cluster_list = assoc_cond->cluster_list; wckey_cond->user_list = assoc_cond->user_list; if(!(local_wckey_list = acct_storage_g_get_wckeys( @@ -902,6 +895,18 @@ extern int sacctmgr_add_user(int argc, char *argv[]) user = NULL; if(!sacctmgr_find_user_from_list(local_user_list, name)) { uid_t pw_uid; + if (!default_acct + && assoc_cond->acct_list + && list_count(assoc_cond->acct_list)) + default_acct = xstrdup( + list_peek(assoc_cond->acct_list)); + + if(!default_wckey + && wckey_cond->name_list + && list_count(wckey_cond->name_list)) + default_wckey = xstrdup( + list_peek(wckey_cond->name_list)); + if(!default_acct || !default_acct[0]) { exit_code=1; fprintf(stderr, " Need a default account for " @@ -957,7 +962,7 @@ extern int sacctmgr_add_user(int argc, char *argv[]) while ((account = list_next(itr_a))) { if (acct_first) { if (!sacctmgr_find_account_from_list( - local_acct_list, default_acct)) { + local_acct_list, account)) { exit_code=1; fprintf(stderr, " This account '%s' " "doesn't exist.\n" -- GitLab