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: