*/
int select_pool_and_media_dbr(UAContext *ua, POOL_DBR *pr, MEDIA_DBR *mr)
{
- int found = FALSE;
int i;
+ static char *kw[] = {
+ N_("volume"),
+ NULL};
memset(pr, 0, sizeof(POOL_DBR));
memset(mr, 0, sizeof(MEDIA_DBR));
}
mr->PoolId = pr->PoolId;
- /* See if a volume name is specified as an argument */
- for (i=1; i<ua->argc; i++) {
- if (strcasecmp(ua->argk[i], _("volume")) == 0 && ua->argv[i]) {
- found = TRUE;
- break;
- }
- }
- if (found) {
+ i = find_arg_keyword(ua, kw);
+ if (i == 0 && ua->argv[i]) {
strcpy(mr->VolumeName, ua->argv[i]);
- } else {
+ }
+ if (mr->VolumeName[0] == 0) {
db_list_media_records(ua->db, mr, prtit, ua);
- if (!get_cmd(ua, _("Enter the Volume name: "))) {
- return 01;
+ if (!get_cmd(ua, _("Enter MediaId or Volume name to update: "))) {
+ return 0;
+ }
+ if (is_a_number(ua->cmd)) {
+ mr->MediaId = atoi(ua->cmd);
+ } else {
+ strcpy(mr->VolumeName, ua->cmd);
}
- strcpy(mr->VolumeName, ua->cmd);
}
- mr->MediaId = 0;
+
if (!db_get_media_record(ua->db, mr)) {
bsendmsg(ua, "%s", db_strerror(ua->db));
return 0;