|
Jiri Moskovcak |
4696337 |
From 6aab2606ce1bcbdfc2198eafa08afc22597768cf Mon Sep 17 00:00:00 2001
|
|
Jiri Moskovcak |
4696337 |
From: Michal Toman <mtoman@redhat.com>
|
|
Jiri Moskovcak |
4696337 |
Date: Mon, 1 Aug 2011 16:11:51 +0200
|
|
Jiri Moskovcak |
4696337 |
Subject: [PATCH 17/52] interactive plugins: do not truncate message on EAGAIN
|
|
Jiri Moskovcak |
4696337 |
|
|
Jiri Moskovcak |
4696337 |
---
|
|
Jiri Moskovcak |
4696337 |
src/gui-wizard-gtk/wizard.c | 10 +++++++---
|
|
Jiri Moskovcak |
4696337 |
1 files changed, 7 insertions(+), 3 deletions(-)
|
|
Jiri Moskovcak |
4696337 |
|
|
Jiri Moskovcak |
4696337 |
diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c
|
|
Jiri Moskovcak |
4696337 |
index a6c48eb..4dcfd34 100644
|
|
Jiri Moskovcak |
4696337 |
--- a/src/gui-wizard-gtk/wizard.c
|
|
Jiri Moskovcak |
4696337 |
+++ b/src/gui-wizard-gtk/wizard.c
|
|
Jiri Moskovcak |
4696337 |
@@ -213,6 +213,7 @@ static page_obj_t pages[] =
|
|
Jiri Moskovcak |
4696337 |
|
|
Jiri Moskovcak |
4696337 |
static page_obj_t *added_pages[NUM_PAGES];
|
|
Jiri Moskovcak |
4696337 |
|
|
Jiri Moskovcak |
4696337 |
+static struct strbuf *line = NULL;
|
|
Jiri Moskovcak |
4696337 |
|
|
Jiri Moskovcak |
4696337 |
/* Utility functions */
|
|
Jiri Moskovcak |
4696337 |
|
|
Jiri Moskovcak |
4696337 |
@@ -1174,7 +1175,8 @@ static gboolean consume_cmd_output(GIOChannel *source, GIOCondition condition, g
|
|
Jiri Moskovcak |
4696337 |
char *newline;
|
|
Jiri Moskovcak |
4696337 |
char *raw;
|
|
Jiri Moskovcak |
4696337 |
int r;
|
|
Jiri Moskovcak |
4696337 |
- struct strbuf *line = strbuf_new();
|
|
Jiri Moskovcak |
4696337 |
+ if (!line)
|
|
Jiri Moskovcak |
4696337 |
+ line = strbuf_new();
|
|
Jiri Moskovcak |
4696337 |
|
|
Jiri Moskovcak |
4696337 |
int alert_prefix_len = strlen(REPORT_PREFIX_ALERT);
|
|
Jiri Moskovcak |
4696337 |
int ask_prefix_len = strlen(REPORT_PREFIX_ASK);
|
|
Jiri Moskovcak |
4696337 |
@@ -1348,8 +1350,6 @@ static gboolean consume_cmd_output(GIOChannel *source, GIOCondition condition, g
|
|
Jiri Moskovcak |
4696337 |
strbuf_append_str(line, raw);
|
|
Jiri Moskovcak |
4696337 |
}
|
|
Jiri Moskovcak |
4696337 |
|
|
Jiri Moskovcak |
4696337 |
- strbuf_free(line);
|
|
Jiri Moskovcak |
4696337 |
-
|
|
Jiri Moskovcak |
4696337 |
if (r < 0 && errno == EAGAIN)
|
|
Jiri Moskovcak |
4696337 |
/* We got all buffered data, but fd is still open. Done for now */
|
|
Jiri Moskovcak |
4696337 |
return TRUE; /* "please don't remove this event (yet)" */
|
|
Jiri Moskovcak |
4696337 |
@@ -1415,6 +1415,10 @@ static gboolean consume_cmd_output(GIOChannel *source, GIOCondition condition, g
|
|
Jiri Moskovcak |
4696337 |
gtk_label_set_text(evd->status_label, msg);
|
|
Jiri Moskovcak |
4696337 |
free(msg);
|
|
Jiri Moskovcak |
4696337 |
|
|
Jiri Moskovcak |
4696337 |
+ /* free child output buffer */
|
|
Jiri Moskovcak |
4696337 |
+ strbuf_free(line);
|
|
Jiri Moskovcak |
4696337 |
+ line = NULL;
|
|
Jiri Moskovcak |
4696337 |
+
|
|
Jiri Moskovcak |
4696337 |
/* Enable (un-gray out) navigation buttons */
|
|
Jiri Moskovcak |
4696337 |
gtk_widget_set_sensitive(GTK_WIDGET(g_assistant), true);
|
|
Jiri Moskovcak |
4696337 |
|
|
Jiri Moskovcak |
4696337 |
--
|
|
Jiri Moskovcak |
4696337 |
1.7.6
|
|
Jiri Moskovcak |
4696337 |
|