summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ccan/opt/usage.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/ccan/opt/usage.c b/ccan/opt/usage.c
index ff054559..494b179b 100644
--- a/ccan/opt/usage.c
+++ b/ccan/opt/usage.c
@@ -47,7 +47,7 @@ static size_t consume_words(const char *words, size_t maxlen, size_t *prefix)
size_t oldlen, len;
/* Swallow leading whitespace. */
- *prefix = strspn(words, " ");
+ *prefix = strspn(words, " \n");
words += *prefix;
/* Use at least one word, even if it takes us over maxlen. */
@@ -55,7 +55,9 @@ static size_t consume_words(const char *words, size_t maxlen, size_t *prefix)
while (len <= maxlen) {
oldlen = len;
len += strspn(words+len, " ");
- len += strcspn(words+len, " ");
+ if (words[len] == '\n')
+ break;
+ len += strcspn(words+len, " \n");
if (len == oldlen)
break;
}