From 36473acf473616e1817367dda59439a32f51b07f Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Thu, 30 Aug 2018 23:50:09 +0200 Subject: fixes a parseopt regression (#8820) --- lib/pure/parseopt.nim | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/pure/parseopt.nim b/lib/pure/parseopt.nim index 70319ddf0..c91134738 100644 --- a/lib/pure/parseopt.nim +++ b/lib/pure/parseopt.nim @@ -207,9 +207,12 @@ proc next*(p: var OptParser) {.rtl, extern: "npo$1".} = i = parseWord(p.cmds[p.idx], i, p.key.string, {' ', '\t', ':', '='}) while i < p.cmds[p.idx].len and p.cmds[p.idx][i] in {'\t', ' '}: inc(i) if i < p.cmds[p.idx].len and p.cmds[p.idx][i] in {':', '='}: - if i < p.cmds[p.idx].len and p.cmds[p.idx][i] in {':', '='}: - inc(i) + inc(i) while i < p.cmds[p.idx].len and p.cmds[p.idx][i] in {'\t', ' '}: inc(i) + # if we're at the end, use the next command line option: + if i >= p.cmds[p.idx].len and p.idx < p.cmds.len: + inc p.idx + i = 0 p.val = TaintedString p.cmds[p.idx].substr(i) elif len(p.longNoVal) > 0 and p.key.string notin p.longNoVal and p.idx+1 < p.cmds.len: p.val = TaintedString p.cmds[p.idx+1] -- cgit 1.4.1-2-gfad0