summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--degesch.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/degesch.c b/degesch.c
index 4ae824d..52141fc 100644
--- a/degesch.c
+++ b/degesch.c
@@ -6849,13 +6849,14 @@ wrap_message (const char *message,
if (line_max <= 0)
goto error;
- for (size_t message_left = strlen (message); message_left; )
+ int message_left = strlen (message);
+ while (message_left > line_max)
{
struct str m;
str_init (&m);
- size_t eaten = wrap_text_for_single_line (message,
- MIN ((size_t) line_max, message_left), message_left, &m);
+ size_t eaten = wrap_text_for_single_line
+ (message, message_left, line_max, &m);
if (!eaten)
{
str_free (&m);
@@ -6866,6 +6867,10 @@ wrap_message (const char *message,
message += eaten;
message_left -= eaten;
}
+
+ if (message_left)
+ str_vector_add (output, message);
+
return true;
error: