diff options
author | Petter Rodhelind <petter.rodhelind@gmail.com> | 2017-11-06 15:19:40 +0100 |
---|---|---|
committer | Petter Rodhelind <petter.rodhelind@gmail.com> | 2017-11-06 15:19:40 +0100 |
commit | a8c75a106f5d6e283c6b23e2592207ee5d5bce29 (patch) | |
tree | 6869c3e18b920b2b71e0ad02430c0d0c50cac741 /src/cmd/acme/addr.c | |
parent | f25f90ea3332df18129558fd246f7b5d4c80b4d8 (diff) | |
parent | 3d6e5cb56a6249e7f3001091fe81c171cd501319 (diff) | |
download | plan9port-a8c75a106f5d6e283c6b23e2592207ee5d5bce29.tar.gz plan9port-a8c75a106f5d6e283c6b23e2592207ee5d5bce29.tar.bz2 plan9port-a8c75a106f5d6e283c6b23e2592207ee5d5bce29.zip |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'src/cmd/acme/addr.c')
-rw-r--r-- | src/cmd/acme/addr.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/cmd/acme/addr.c b/src/cmd/acme/addr.c index 861e5e01..2ccae960 100644 --- a/src/cmd/acme/addr.c +++ b/src/cmd/acme/addr.c @@ -49,6 +49,27 @@ isregexc(int r) return FALSE; } +// nlcounttopos starts at q0 and advances nl lines, +// being careful not to walk past the end of the text, +// and then nr chars, being careful not to walk past +// the end of the current line. +// It returns the final position. +long +nlcounttopos(Text *t, long q0, long nl, long nr) +{ + while(nl > 0 && q0 < t->file->b.nc) { + if(textreadc(t, q0++) == '\n') + nl--; + } + if(nl > 0) + return q0; + while(nr > 0 && q0 < t->file->b.nc && textreadc(t, q0) != '\n') { + q0++; + nr--; + } + return q0; +} + Range number(uint showerr, Text *t, Range r, int line, int dir, int size, int *evalp) { |