summaryrefslogtreecommitdiffstats
path: root/contrib/less/command.c
diff options
context:
space:
mode:
authortjr <tjr@FreeBSD.org>2004-04-17 07:24:09 +0000
committertjr <tjr@FreeBSD.org>2004-04-17 07:24:09 +0000
commit2dd9648c3e63b5984fd45b9a7a38158b7f813920 (patch)
tree4fefa15c12f7b1396b087d2cc571bd936cba7fa4 /contrib/less/command.c
parent8253204c1a034cf4aefb77f7fff7979258999859 (diff)
downloadFreeBSD-src-2dd9648c3e63b5984fd45b9a7a38158b7f813920.zip
FreeBSD-src-2dd9648c3e63b5984fd45b9a7a38158b7f813920.tar.gz
Merge vendor changes onto mainline.
Diffstat (limited to 'contrib/less/command.c')
-rw-r--r--contrib/less/command.c64
1 files changed, 39 insertions, 25 deletions
diff --git a/contrib/less/command.c b/contrib/less/command.c
index d9c177c..9bc966c 100644
--- a/contrib/less/command.c
+++ b/contrib/less/command.c
@@ -1,6 +1,6 @@
/* $FreeBSD$ */
/*
- * Copyright (C) 1984-2000 Mark Nudelman
+ * Copyright (C) 1984-2002 Mark Nudelman
*
* You may distribute under the terms of either the GNU General Public
* License or the Less License, as specified in the README file.
@@ -64,7 +64,7 @@ static char *shellcmd = NULL; /* For holding last shell command for "!!" */
#endif
static int mca; /* The multicharacter command (action) */
static int search_type; /* The previous type of search */
-static int number; /* The number typed by the user */
+static LINENUM number; /* The number typed by the user */
static char optchar;
static int optflag;
static int optgetname;
@@ -189,7 +189,7 @@ exec_mca()
{
case A_F_SEARCH:
case A_B_SEARCH:
- multi_search(cbuf, number);
+ multi_search(cbuf, (int) number);
break;
case A_FIRSTCMD:
/*
@@ -209,18 +209,20 @@ exec_mca()
optchar = '\0';
break;
case A_F_BRACKET:
- match_brac(cbuf[0], cbuf[1], 1, number);
+ match_brac(cbuf[0], cbuf[1], 1, (int) number);
break;
case A_B_BRACKET:
- match_brac(cbuf[1], cbuf[0], 0, number);
+ match_brac(cbuf[1], cbuf[0], 0, (int) number);
break;
#if EXAMINE
case A_EXAMINE:
if (secure)
break;
edit_list(cbuf);
+#if TAGS
/* If tag structure is loaded then clean it up. */
cleantags();
+#endif
break;
#endif
#if SHELL_ESCAPE
@@ -363,7 +365,7 @@ mca_char(c)
* If so, display the complete name and stop
* accepting chars until user hits RETURN.
*/
- struct option *o;
+ struct loption *o;
char *oname;
int lc;
@@ -987,7 +989,7 @@ commands()
* Forward one window (and set the window size).
*/
if (number > 0)
- swindow = number;
+ swindow = (int) number;
/* FALLTHRU */
case A_F_SCREEN:
/*
@@ -998,7 +1000,7 @@ commands()
cmd_exec();
if (show_attn)
set_attnpos(bottompos);
- forward(number, 0, 1);
+ forward((int) number, 0, 1);
break;
case A_B_WINDOW:
@@ -1006,7 +1008,7 @@ commands()
* Backward one window (and set the window size).
*/
if (number > 0)
- swindow = number;
+ swindow = (int) number;
/* FALLTHRU */
case A_B_SCREEN:
/*
@@ -1015,7 +1017,7 @@ commands()
if (number <= 0)
number = get_swindow();
cmd_exec();
- backward(number, 0, 1);
+ backward((int) number, 0, 1);
break;
case A_F_LINE:
@@ -1027,7 +1029,7 @@ commands()
cmd_exec();
if (show_attn == OPT_ONPLUS && number > 1)
set_attnpos(bottompos);
- forward(number, 0, 0);
+ forward((int) number, 0, 0);
break;
case A_B_LINE:
@@ -1037,7 +1039,7 @@ commands()
if (number <= 0)
number = 1;
cmd_exec();
- backward(number, 0, 0);
+ backward((int) number, 0, 0);
break;
case A_FF_LINE:
@@ -1049,7 +1051,7 @@ commands()
cmd_exec();
if (show_attn == OPT_ONPLUS && number > 1)
set_attnpos(bottompos);
- forward(number, 1, 0);
+ forward((int) number, 1, 0);
break;
case A_BF_LINE:
@@ -1059,7 +1061,7 @@ commands()
if (number <= 0)
number = 1;
cmd_exec();
- backward(number, 1, 0);
+ backward((int) number, 1, 0);
break;
case A_FF_SCREEN:
@@ -1071,7 +1073,7 @@ commands()
cmd_exec();
if (show_attn == OPT_ONPLUS)
set_attnpos(bottompos);
- forward(number, 1, 0);
+ forward((int) number, 1, 0);
break;
case A_F_FOREVER:
@@ -1101,7 +1103,7 @@ commands()
* (default same as last 'd' or 'u' command).
*/
if (number > 0)
- wscroll = number;
+ wscroll = (int) number;
cmd_exec();
if (show_attn == OPT_ONPLUS)
set_attnpos(bottompos);
@@ -1114,7 +1116,7 @@ commands()
* (default same as last 'd' or 'u' command).
*/
if (number > 0)
- wscroll = number;
+ wscroll = (int) number;
cmd_exec();
backward(wscroll, 0, 0);
break;
@@ -1160,7 +1162,7 @@ commands()
if (number > 100)
number = 100;
cmd_exec();
- jump_percent(number);
+ jump_percent((int) number);
break;
case A_GOEND:
@@ -1181,7 +1183,7 @@ commands()
cmd_exec();
if (number < 0)
number = 0;
- jump_line_loc((POSITION)number, jump_sline);
+ jump_line_loc((POSITION) number, jump_sline);
break;
case A_STAT:
@@ -1229,7 +1231,7 @@ commands()
#define DO_SEARCH() if (number <= 0) number = 1; \
mca_search(); \
cmd_exec(); \
- multi_search((char *)NULL, number);
+ multi_search((char *)NULL, (int) number);
case A_F_SEARCH:
@@ -1368,14 +1370,16 @@ commands()
/*
* Examine next file.
*/
+#if TAGS
if (ntags())
{
error("No next file", NULL_PARG);
break;
}
+#endif
if (number <= 0)
number = 1;
- if (edit_next(number))
+ if (edit_next((int) number))
{
if (quit_at_eof && hit_eof &&
!(ch_getflags() & CH_HELPFILE))
@@ -1389,14 +1393,16 @@ commands()
/*
* Examine previous file.
*/
+#if TAGS
if (ntags())
{
error("No previous file", NULL_PARG);
break;
}
+#endif
if (number <= 0)
number = 1;
- if (edit_prev(number))
+ if (edit_prev((int) number))
{
parg.p_string = (number > 1) ? "(N-th) " : "";
error("No %sprevious file", &parg);
@@ -1404,9 +1410,10 @@ commands()
break;
case A_NEXT_TAG:
+#if TAGS
if (number <= 0)
number = 1;
- tagfile = nexttag(number);
+ tagfile = nexttag((int) number);
if (tagfile == NULL)
{
error("No next tag", NULL_PARG);
@@ -1418,12 +1425,16 @@ commands()
if (pos != NULL_POSITION)
jump_loc(pos, jump_sline);
}
+#else
+ error("Command not available", NULL_PARG);
+#endif
break;
case A_PREV_TAG:
+#if TAGS
if (number <= 0)
number = 1;
- tagfile = prevtag(number);
+ tagfile = prevtag((int) number);
if (tagfile == NULL)
{
error("No previous tag", NULL_PARG);
@@ -1435,6 +1446,9 @@ commands()
if (pos != NULL_POSITION)
jump_loc(pos, jump_sline);
}
+#else
+ error("Command not available", NULL_PARG);
+#endif
break;
case A_INDEX_FILE:
@@ -1443,7 +1457,7 @@ commands()
*/
if (number <= 0)
number = 1;
- if (edit_index(number))
+ if (edit_index((int) number))
error("No such file", NULL_PARG);
break;
OpenPOWER on IntegriCloud