degesch: clarify text wrapping algorithm

This commit is contained in:
Přemysl Eric Janouch 2015-12-08 22:11:11 +01:00
parent 2ba8908024
commit 2ae916fc1a
1 changed files with 8 additions and 3 deletions

View File

@ -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: