diff options
author | tjr <tjr@FreeBSD.org> | 2004-04-17 07:16:34 +0000 |
---|---|---|
committer | tjr <tjr@FreeBSD.org> | 2004-04-17 07:16:34 +0000 |
commit | 44c4d557e2436dfbb703a9fc3e78fac79c574d4b (patch) | |
tree | f46d7e51d83360c5b6bdacf5b08e16a415ed61b5 /contrib/less/command.c | |
parent | c0c85bc41cb6c023adae56cf0a7e3495bd528cb2 (diff) | |
download | FreeBSD-src-44c4d557e2436dfbb703a9fc3e78fac79c574d4b.zip FreeBSD-src-44c4d557e2436dfbb703a9fc3e78fac79c574d4b.tar.gz |
Import less v381.
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 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; |