projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed problem with stab type for initialized static variables,
[unix-history]
/
usr
/
src
/
old
/
more
/
more.c
diff --git
a/usr/src/old/more/more.c
b/usr/src/old/more/more.c
index
0d84b2b
..
0aa5e04
100644
(file)
--- a/
usr/src/old/more/more.c
+++ b/
usr/src/old/more/more.c
@@
-1,4
+1,6
@@
-static char *sccsid = "@(#)more.c 4.8 (Berkeley) 83/02/09";
+#ifndef lint
+static char *sccsid = "@(#)more.c 4.15 (Berkeley) 83/07/07";
+#endif
/*
** more.c - General purpose tty output filter and file perusal program
/*
** more.c - General purpose tty output filter and file perusal program
@@
-17,12
+19,9
@@
static char *sccsid = "@(#)more.c 4.8 (Berkeley) 83/02/09";
#include <setjmp.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <setjmp.h>
#include <sys/types.h>
#include <sys/stat.h>
-#include <local/uparm.h>
-/* Help file will eventually go in libpath(more.help) on all systems */
-
-#define HELPFILE libpath(more.help)
-#define VI binpath(vi)
+#define HELPFILE "/usr/lib/more.help"
+#define VI "/usr/ucb/vi"
#define Fopen(s,m) (Currline = 0,file_pos=0,fopen(s,m))
#define Ftell(f) file_pos
#define Fopen(s,m) (Currline = 0,file_pos=0,fopen(s,m))
#define Ftell(f) file_pos
@@
-40,7
+39,7
@@
static char *sccsid = "@(#)more.c 4.8 (Berkeley) 83/02/09";
#define ESC '\033'
#define QUIT '\034'
#define ESC '\033'
#define QUIT '\034'
-struct sgttyb otty;
+struct sgttyb otty
, savetty
;
long file_pos, file_size;
int fnum, no_intty, no_tty, slow_tty;
int dum_opt, dlines, onquit(), end_it();
long file_pos, file_size;
int fnum, no_intty, no_tty, slow_tty;
int dum_opt, dlines, onquit(), end_it();
@@
-263,23
+262,39
@@
char *argv[];
argscan(s)
char *s;
{
argscan(s)
char *s;
{
- for (dlines = 0; *s != '\0'; s++)
- if (isdigit(*s))
- dlines = dlines*10 + *s - '0';
- else if (*s == 'd')
- dum_opt = 1;
- else if (*s == 'l')
- stop_opt = 0;
- else if (*s == 'f')
- fold_opt = 0;
- else if (*s == 'p')
- noscroll++;
- else if (*s == 'c')
- clreol++;
- else if (*s == 's')
- ssp_opt = 1;
- else if (*s == 'u')
- ul_opt = 0;
+ for (dlines = 0; *s != '\0'; s++)
+ {
+ switch (*s)
+ {
+ case '0': case '1': case '2':
+ case '3': case '4': case '5':
+ case '6': case '7': case '8':
+ case '9':
+ dlines = dlines*10 + *s - '0';
+ break;
+ case 'd':
+ dum_opt = 1;
+ break;
+ case 'l':
+ stop_opt = 0;
+ break;
+ case 'f':
+ fold_opt = 0;
+ break;
+ case 'p':
+ noscroll++;
+ break;
+ case 'c':
+ clreol++;
+ break;
+ case 's':
+ ssp_opt = 1;
+ break;
+ case 'u':
+ ul_opt = 0;
+ break;
+ }
+ }
}
}
@@
-415,7
+430,7
@@
register int num_lines;
return;
if (hard && promptlen > 0)
erase (0);
return;
if (hard && promptlen > 0)
erase (0);
- if (noscroll && num_lines
=
= dlines)
+ if (noscroll && num_lines
>
= dlines)
{
if (clreol)
home();
{
if (clreol)
home();
@@
-550,16
+565,16
@@
int n;
char *str;
{
sptr = str;
char *str;
{
sptr = str;
-
s
printf (n);
+
S
printf (n);
*sptr = '\0';
}
*sptr = '\0';
}
-
s
printf (n)
+
S
printf (n)
{
int a;
if (a = n/10)
{
int a;
if (a = n/10)
-
s
printf (a);
+
S
printf (a);
*sptr++ = n % 10 + '0';
}
*sptr++ = n % 10 + '0';
}
@@
-1310,7
+1325,7
@@
initterm ()
setbuf(stdout, obuf);
if (!(no_tty = gtty(1, &otty))) {
setbuf(stdout, obuf);
if (!(no_tty = gtty(1, &otty))) {
- if ((term = getenv("TERM")) || tgetent(buf, term) <= 0) {
+ if ((term = getenv("TERM"))
== 0
|| tgetent(buf, term) <= 0) {
dumb++; ul_opt = 0;
}
else {
dumb++; ul_opt = 0;
}
else {
@@
-1366,6
+1381,7
@@
initterm ()
}
no_intty = gtty(0, &otty);
gtty(2, &otty);
}
no_intty = gtty(0, &otty);
gtty(2, &otty);
+ savetty = otty;
ospeed = otty.sg_ospeed;
slow_tty = ospeed < B1200;
hardtabs = !(otty.sg_flags & XTABS);
ospeed = otty.sg_ospeed;
slow_tty = ospeed < B1200;
hardtabs = !(otty.sg_flags & XTABS);
@@
-1560,7
+1576,7
@@
reset_tty ()
{
otty.sg_flags |= ECHO;
otty.sg_flags &= ~MBIT;
{
otty.sg_flags |= ECHO;
otty.sg_flags &= ~MBIT;
- stty(2, &
o
tty);
+ stty(2, &
save
tty);
}
rdline (f)
}
rdline (f)
@@
-1584,6
+1600,8
@@
onsusp ()
reset_tty ();
fflush (stdout);
/* Send the TSTP signal to suspend our process group */
reset_tty ();
fflush (stdout);
/* Send the TSTP signal to suspend our process group */
+ signal(SIGTSTP, SIG_DFL);
+ sigsetmask(0);
kill (0, SIGTSTP);
/* Pause for station break */
kill (0, SIGTSTP);
/* Pause for station break */