X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=bacula%2Fsrc%2Fdird%2Fua_output.c;h=27ac0357724db8a02d1f72641842518a7dfb64ee;hb=fa1cad6e368a3c7d0a1ac4ad25176b7043b1310f;hp=55d81ebb9ce71788e67e59366cad9260cc34e58f;hpb=ccc6c893d38802a042091e5c0ec6317ead19179f;p=bacula%2Fbacula diff --git a/bacula/src/dird/ua_output.c b/bacula/src/dird/ua_output.c index 55d81ebb9c..27ac035772 100644 --- a/bacula/src/dird/ua_output.c +++ b/bacula/src/dird/ua_output.c @@ -36,7 +36,7 @@ /* Imported variables */ extern int r_first; extern int r_last; -extern struct s_res resources[]; +extern RES_TABLE resources[]; extern int console_msg_pending; extern FILE *con_fd; extern brwlock_t con_lock; @@ -50,7 +50,7 @@ static int do_list_cmd(UAContext *ua, char *cmd, e_list_type llist); /* * Turn auto display of console messages on/off */ -int autodisplaycmd(UAContext *ua, char *cmd) +int autodisplay_cmd(UAContext *ua, char *cmd) { static char *kw[] = { N_("on"), @@ -71,6 +71,31 @@ int autodisplaycmd(UAContext *ua, char *cmd) return 1; } +/* + * Turn gui processing on/off + */ +int gui_cmd(UAContext *ua, char *cmd) +{ + static char *kw[] = { + N_("on"), + N_("off"), + NULL}; + + switch (find_arg_keyword(ua, kw)) { + case 0: + ua->jcr->gui = true; + break; + case 1: + ua->jcr->gui = false; + break; + default: + bsendmsg(ua, _("ON or OFF keyword missing.\n")); + break; + } + return 1; +} + + struct showstruct {char *res_name; int type;}; static struct showstruct reses[] = { @@ -108,6 +133,7 @@ int show_cmd(UAContext *ua, char *cmd) Dmsg1(20, "show: %s\n", ua->UA_sock->msg); + LockRes(); for (i=1; iargc; i++) { type = 0; res_name = ua->argk[i]; @@ -126,6 +152,7 @@ int show_cmd(UAContext *ua, char *cmd) break; } } + } else { /* Dump a single resource with specified name */ recurse = 0; @@ -153,18 +180,20 @@ int show_cmd(UAContext *ua, char *cmd) for (j=0; reses[j].res_name; j++) { bsendmsg(ua, "%s\n", _(reses[j].res_name)); } - return 1; + goto bail_out; case -3: bsendmsg(ua, _("%s resource %s not found.\n"), res_name, ua->argv[i]); - return 1; + goto bail_out; case 0: bsendmsg(ua, _("Resource %s not found\n"), res_name); - return 1; + goto bail_out; default: dump_resource(recurse?type:-type, res, bsendmsg, ua); break; } } +bail_out: + UnlockRes(); return 1; }