diff --git a/jets/e/lune.c b/jets/e/lune.c index d8c8404ca4..ac2cb8afee 100644 --- a/jets/e/lune.c +++ b/jets/e/lune.c @@ -20,14 +20,26 @@ return u3m_error("noeol"); } + if (pos_w == 0) { + if (u3r_byte(0, lub) == 10) { + return u3nc(u3_nul, lin); + } else { + return u3m_error("noeol"); + } + } + while (--pos_w) { if (u3r_byte(pos_w, lub) == 10) { lin = u3nc(u3qc_cut(3, (pos_w + 1), (end_w - pos_w - 1), lub), lin); end_w = pos_w; - continue; } } + if (u3r_byte(pos_w, lub) == 10) { + return u3nc(u3_nul, + u3nc(u3qc_cut(3, pos_w, (end_w - pos_w), lub), lin)); + } + return u3nc(u3qc_cut(3, pos_w, (end_w - pos_w), lub), lin); } }