summaryrefslogtreecommitdiffstats
path: root/contrib/less/command.c
diff options
context:
space:
mode:
authortjr <tjr@FreeBSD.org>2004-04-17 07:16:34 +0000
committertjr <tjr@FreeBSD.org>2004-04-17 07:16:34 +0000
commit44c4d557e2436dfbb703a9fc3e78fac79c574d4b (patch)
treef46d7e51d83360c5b6bdacf5b08e16a415ed61b5 /contrib/less/command.c
parentc0c85bc41cb6c023adae56cf0a7e3495bd528cb2 (diff)
downloadFreeBSD-src-44c4d557e2436dfbb703a9fc3e78fac79c574d4b.zip
FreeBSD-src-44c4d557e2436dfbb703a9fc3e78fac79c574d4b.tar.gz
Import less v381.
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 44c9d96..9b059ec 100644
--- a/contrib/less/command.c
+++ b/contrib/less/command.c
@@ -1,5 +1,5 @@
/*
- * 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.
@@ -62,7 +62,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;
@@ -187,7 +187,7 @@ exec_mca()
{
case A_F_SEARCH:
case A_B_SEARCH:
- multi_search(cbuf, number);
+ multi_search(cbuf, (int) number);
break;
case A_FIRSTCMD:
/*
@@ -207,18 +207,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
@@ -361,7 +363,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;
@@ -981,7 +983,7 @@ commands()
* Forward one window (and set the window size).
*/
if (number > 0)
- swindow = number;
+ swindow = (int) number;
/* FALLTHRU */
case A_F_SCREEN:
/*
@@ -992,7 +994,7 @@ commands()
cmd_exec();
if (show_attn)
set_attnpos(bottompos);
- forward(number, 0, 1);
+ forward((int) number, 0, 1);
break;
case A_B_WINDOW:
@@ -1000,7 +1002,7 @@ commands()
* Backward one window (and set the window size).
*/
if (number > 0)
- swindow = number;
+ swindow = (int) number;
/* FALLTHRU */
case A_B_SCREEN:
/*
@@ -1009,7 +1011,7 @@ commands()
if (number <= 0)
number = get_swindow();
cmd_exec();
- backward(number, 0, 1);
+ backward((int) number, 0, 1);
break;
case A_F_LINE:
@@ -1021,7 +1023,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:
@@ -1031,7 +1033,7 @@ commands()
if (number <= 0)
number = 1;
cmd_exec();
- backward(number, 0, 0);
+ backward((int) number, 0, 0);
break;
case A_FF_LINE:
@@ -1043,7 +1045,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:
@@ -1053,7 +1055,7 @@ commands()
if (number <= 0)
number = 1;
cmd_exec();
- backward(number, 1, 0);
+ backward((int) number, 1, 0);
break;
case A_FF_SCREEN:
@@ -1065,7 +1067,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:
@@ -1095,7 +1097,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);
@@ -1108,7 +1110,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;
@@ -1154,7 +1156,7 @@ commands()
if (number > 100)
number = 100;
cmd_exec();
- jump_percent(number);
+ jump_percent((int) number);
break;
case A_GOEND:
@@ -1175,7 +1177,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:
@@ -1223,7 +1225,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:
@@ -1362,14 +1364,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))
@@ -1383,14 +1387,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);
@@ -1398,9 +1404,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);
@@ -1412,12 +1419,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);
@@ -1429,6 +1440,9 @@ commands()
if (pos != NULL_POSITION)
jump_loc(pos, jump_sline);
}
+#else
+ error("Command not available", NULL_PARG);
+#endif
break;
case A_INDEX_FILE:
@@ -1437,7 +1451,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