diff options
author | tjr <tjr@FreeBSD.org> | 2004-04-17 07:24:09 +0000 |
---|---|---|
committer | tjr <tjr@FreeBSD.org> | 2004-04-17 07:24:09 +0000 |
commit | 2dd9648c3e63b5984fd45b9a7a38158b7f813920 (patch) | |
tree | 4fefa15c12f7b1396b087d2cc571bd936cba7fa4 /contrib/less/command.c | |
parent | 8253204c1a034cf4aefb77f7fff7979258999859 (diff) | |
download | FreeBSD-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.c | 64 |
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; |