hours of operation.
- Lookup HP cleaning recommendations.
- Lookup HP tape replacement recommendations (see trouble shooting autochanger)
+- Create a man page for each binary (Debian package requirement).
Testing to do: (painful)
- that ALL console command line options work and are always implemented
SuSE.
For 1.33
-- Limit the number of block checksum/header BB01, ... errors
- printed.
+- Limit the number of block checksum/header BB01, ... errors printed.
- Add VerifyJob to "run" summary (yes/mod/no) prompt.
- Add device name to "Current Volume not acceptable because ..."
- Make sure that Bacula rechecks the tape after the 20 min wait.
-- Set IO_NOWAIT on Bacula packets
+- Set IO_NOWAIT on Bacula TCP/IP packets.
- Try doing a raw partition backup and restore by mounting a
Windows partition.
- Implement Verify=DiskToCatalog
} else {
bstrncpy(buf, "0 ", sizeof(buf));
}
- Dmsg1(000, "Opts=%s\n", buf);
+ Dmsg1(100, "Opts=%s\n", buf);
optlen = strlen(buf);
while (fgets(buf+optlen, sizeof(buf)-optlen, bpipe->rfd)) {
fd->msglen = Mmsg(&fd->msg, "%s", buf);
} else {
bstrncpy(buf, "0 ", sizeof(buf));
}
- Dmsg1(000, "Opts=%s\n", buf);
+ Dmsg1(100, "Opts=%s\n", buf);
optlen = strlen(buf);
while (fgets(buf+optlen, sizeof(buf)-optlen, ffd)) {
fd->msglen = Mmsg(&fd->msg, "%s", buf);
pthread_mutex_t cmd_mutex = PTHREAD_MUTEX_INITIALIZER;
pthread_cond_t cmd_wait;
char cmd[1000];
-int cmd_ready = FALSE;
int reply;
BSOCK *UA_sock = NULL;
GList *job_list, *client_list, *fileset_list;
static CONRES *con;
static int ndir;
static int director_reader_running = FALSE;
-static int at_prompt = FALSE;
-static int ready = FALSE;
-static int quit = FALSE;
+static bool at_prompt = false;
+static bool ready = false;
+static bool quit = false;
static guint initial;
#define CONFIG_FILE "./gnome-console.conf" /* default configuration file */
initial = gtk_timeout_add(100, initial_connect_to_director, (gpointer)NULL);
gtk_main();
- quit = TRUE;
+ quit = true;
disconnect_from_director((gpointer)NULL);
return 0;
}
void write_director(gchar *msg)
{
if (UA_sock) {
- at_prompt = FALSE;
+ at_prompt = false;
set_status(_(" Processing command ..."));
UA_sock->msglen = strlen(msg);
pm_strcpy(&UA_sock->msg, msg);
if (stat >= 0) {
if (at_prompt) {
set_text("\n", 1);
- at_prompt = FALSE;
+ at_prompt = false;
}
set_text(UA_sock->msg, UA_sock->msglen);
return;
}
/* Must be a signal -- either do something or ignore it */
if (UA_sock->msglen == BNET_PROMPT) {
- at_prompt = TRUE;
+ at_prompt = true;
set_status(_(" At prompt waiting for input ..."));
}
if (UA_sock->msglen == BNET_EOD) {
text_chars -= del_chars;
len = gtk_text_buffer_get_char_count(textbuf);
gtk_text_iter_set_offset(&iter, len);
-
-/*
- gtk_text_set_point(GTK_TEXT(text1), del_chars);
- gtk_text_backward_delete(GTK_TEXT(text1), del_chars);
- text_chars -= del_chars;
- gtk_text_set_point(GTK_TEXT(text1), text_chars);
- */
}
void set_textf(char *fmt, ...)
buf_len = gtk_text_buffer_get_char_count(textbuf);
gtk_text_buffer_get_iter_at_offset(textbuf, &iter, buf_len - 1);
gtk_text_buffer_insert(textbuf, &iter, buf, -1);
-/*
- gtk_text_insert(GTK_TEXT(text1), text_font, NULL, NULL, buf, -1);
- */
text_chars += len;
if (text_chars > MAX_TEXT_CHARS) {
truncate_text_chars();
}
buf_len = gtk_text_buffer_get_char_count(textbuf);
+ gtk_text_buffer_get_iter_at_offset(textbuf, &iter, buf_len - 1);
gtk_text_iter_set_offset(&iter, buf_len);
/*
* Force the scroll bars to the bottom so that most
* recent text is on screen.
*/
- vadj = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(scroll1));
- gtk_adjustment_set_value(vadj, vadj->upper);
+ if (ready || at_prompt) {
+ vadj = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(scroll1));
+ gtk_adjustment_set_value(vadj, vadj->upper);
+ }
}
void set_statusf(char *fmt, ...)
va_start(arg_ptr, fmt);
len = bvsnprintf(buf, sizeof(buf), fmt, arg_ptr);
gtk_label_set_text(GTK_LABEL(status1), buf);
- ready = FALSE;
+ ready = false;
}
void set_status_ready()
{
+ GtkTextBuffer *textbuf;
gtk_label_set_text(GTK_LABEL(status1), " Ready");
- ready = TRUE;
+ if (!ready) {
+ textbuf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text1));
+ vadj = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(scroll1));
+ gtk_adjustment_set_value(vadj, vadj->upper);
+ }
+ ready = true;
}
void set_status(char *buf)
{
gtk_label_set_text(GTK_LABEL(status1), buf);
- ready = FALSE;
+ ready = false;
}