diff --git a/src/sacctmgr/common.c b/src/sacctmgr/common.c index ea3df75ea3a5fba82f109b68d5a22e098565728e..f18e731c32fb006e37ab7304db00016f8b6351cf 100644 --- a/src/sacctmgr/common.c +++ b/src/sacctmgr/common.c @@ -970,18 +970,20 @@ extern slurmdb_qos_rec_t *sacctmgr_find_qos_from_list( } extern slurmdb_res_rec_t *sacctmgr_find_res_from_list( - List res_list, char *name, char *server) + List res_list, uint32_t id, char *name, char *server) { ListIterator itr = NULL; slurmdb_res_rec_t *res = NULL; - if (!name || !res_list) + if ((id == NO_VAL) && (!name || !res_list)) return NULL; itr = list_iterator_create(res_list); while ((res = list_next(itr))) { - if (!strcasecmp(server, res->server) - && !strcasecmp(name, res->name)) + if ((id == res->id) + || (name && server + && !strcasecmp(server, res->server) + && !strcasecmp(name, res->name))) break; } list_iterator_destroy(itr); diff --git a/src/sacctmgr/sacctmgr.h b/src/sacctmgr/sacctmgr.h index bace8635ada08a271a9bdcb3535d3285f577ea11..ebf2a6b936878f7a8a338d2d297ed2c877c9209d 100644 --- a/src/sacctmgr/sacctmgr.h +++ b/src/sacctmgr/sacctmgr.h @@ -305,7 +305,7 @@ extern slurmdb_association_rec_t *sacctmgr_find_association_from_list( extern slurmdb_association_rec_t *sacctmgr_find_account_base_assoc_from_list( List assoc_list, char *account, char *cluster); extern slurmdb_res_rec_t *sacctmgr_find_res_from_list( - List res_list, char *name, char *server); + List res_list, uint32_t id, char *name, char *server); extern slurmdb_qos_rec_t *sacctmgr_find_qos_from_list( List qos_list, char *name); extern slurmdb_user_rec_t *sacctmgr_find_user_from_list(