lastspace = current;
}
/* if we are cutting, and we've accumulated enough
- * characters, copy and insert a break. */
- else if (current - laststart >= linelength && docut) {
+ * characters, and we haven't see a space for this line,
+ * copy and insert a break. */
+ else if (current - laststart >= linelength
+ && docut && laststart >= lastspace) {
memcpy(newtext+newtextlen, text+laststart, current-laststart);
newtextlen += current - laststart;
memcpy(newtext+newtextlen, breakchar, breakcharlen);
"123ab123ab123" === wordwrap("123ab123ab123", 3, "ab", 1)
"123ab123ab123" === wordwrap("123ab123ab123", 5, "ab", 1)
"123ab 12ab3ab123" === wordwrap("123 123ab123", 3, "ab", 1)
-"123 ab123ab123" === wordwrap("123 123ab123", 5, "ab", 1)
+"123 ab123ab123" === wordwrap("123 123ab123", 5, "ab", 1)
"123 123ab 123" === wordwrap("123 123 123", 8, "ab", 1)
-"123 123ab45 123" === wordwrap("123 12345 123", 8, "ab", 1)
+"123 ab12345 ab123" === wordwrap("123 12345 123", 8, "ab", 1)
"1ab2ab3ab4" === wordwrap("1234", 1, "ab", 1)
+
+"12345|12345|67890" === wordwrap("12345 1234567890", 5, "|", 1)
+
TESTS;
include('../../../../tests/quicktester.inc');