summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr.bin/vi/vi/vs_relative.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/usr.bin/vi/vi/vs_relative.c b/usr.bin/vi/vi/vs_relative.c
index f92976d1669..40072a3f88a 100644
--- a/usr.bin/vi/vi/vs_relative.c
+++ b/usr.bin/vi/vi/vs_relative.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vs_relative.c,v 1.4 2006/01/08 21:05:40 miod Exp $ */
+/* $OpenBSD: vs_relative.c,v 1.5 2006/05/21 19:21:30 otto Exp $ */
/*-
* Copyright (c) 1993, 1994
@@ -113,6 +113,15 @@ vs_columns(sp, lp, lno, cnop, diffp)
int ch, leftright, listset;
char *p;
+ /*
+ * Initialize the screen offset.
+ */
+ scno = 0;
+
+ /* Leading number if O_NUMBER option set. */
+ if (O_ISSET(sp, O_NUMBER))
+ scno += O_NUMBER_LENGTH;
+
/* Need the line to go any further. */
if (lp == NULL) {
(void)db_get(sp, lno, 0, &lp, &len);
@@ -124,7 +133,7 @@ vs_columns(sp, lp, lno, cnop, diffp)
if (lp == NULL) {
done: if (diffp != NULL) /* XXX */
*diffp = 0;
- return (0);
+ return (scno);
}
/* Store away the values of the list and leftright edit options. */
@@ -136,7 +145,7 @@ done: if (diffp != NULL) /* XXX */
* offsets.
*/
p = lp;
- curoff = scno = 0;
+ curoff = 0;
/* Leading number if O_NUMBER option set. */
if (O_ISSET(sp, O_NUMBER))