Please find the NMU debdiff attached.
diff -Nru beav-1.40/beav.1 beav-1.40/beav.1
--- beav-1.40/beav.1 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/beav.1 1970-01-01 01:00:00.000000000 +0100
@@ -1,63 +0,0 @@
-.TH BEAV 1 "" "" \" -*- nroff -*-
-.SH NAME
-beav \- binary file editor and viewer
-.SH SYNOPSIS
-.B beav
-[file...]
-.SH DESCRIPTION
-This is a brief description of the minimal set of commands
-that are necessary to start using
-.IR beav
-effectively.
-For more information, review the file /usr/share/doc/beav/beav140.txt.gz.
-.PP
-The \fIfile-visit\fR command,\fB Ctl-X Ctl-V\fR, can be used to read a
-file in for editing. The file can also be read in from the
-command line; \fBbeav <edit_file>\fR.
-.PP
-Data is displayed in one or more windows.
-These commands can be used to navigate around the windows.
-.PP
-.RS
-\fImove-back-char\fB Ctl-B\fB moves left\fR
-.br
-\fImove-back-line\fB Ctl-P\fB moves up\fR
-.br
-\fImove-forw-char\fb Ctl-F\fB moves right\fR
-.br
-\fImove-forw-line\fB Ctl-N\fB moves down\fR
-.br
-\fIwindow-delete\fB Ctl-X 0\fB delete window\fR
-.br
-\fIwindow-expand\fB Ctl-X 1\fB expand window\fR
-.br
-.RE
-.PP
-The \fImove-to-byte\fR command,\fB Ctl-X G\fR, will prompt you for a
-byte position to move to.
-.PP
-These commands will insert a zero byte at the cursor
-position or delete the byte at that position.
-.PP
-.RS
-\fIinsert-unit\fB Ctl-X I\fR
-.br
-\fIdelete-forw-unit\fB Esc D\fR
-.br
-.RE
-.PP
-The \fIfile-save\fR command,\fB Ctl-X Ctl-S\fR, will save the data to
-the file if a change has been made.
-.PP
-The \fIhelp\fR command,\fB Esc ?\fR, will display a list of all
-commands and their current key bindings.
-.PP
-The \fIabort-cmd\fR command,\fB Ctl-G\fR, will abort any command that
-is in operation.
-.PP
-The \fIquit-no-save\fR command,\fB Ctl-X Ctl-C\fR, will exit beav.
-If there is any data that has not been saved you will be warned.
-.PP
-.SH FILES
-/usr/share/doc/beav/beav140.txt.gz
-
diff -Nru beav-1.40/buffer.c beav-1.40/buffer.c
--- beav-1.40/buffer.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/buffer.c 1994-11-30 18:43:35.000000000 +0100
@@ -2,8 +2,6 @@
* Buffer handling.
*/
-#include <string.h>
-#include <stdlib.h>
#include "def.h"
bool onebuf ();
@@ -168,7 +166,7 @@
if ((s = ereply (MSG_kill_b, bufn, NBUFN, 0)) != TRUE)
return (s);
- if ((s = _killbuffer (bufn)))
+ if (s = _killbuffer (bufn))
writ_echo (okmsg); /* verbose-ness (jam) */
return (s);
}
@@ -807,7 +805,7 @@
register LINE *lp;
char name[NBUFN + 1];
char buf[3];
- //WINDOW *wp;
+ WINDOW *wp;
lp = curwp->w_dotp; /* get the buffer name from the line */
diff -Nru beav-1.40/debian/changelog beav-1.40/debian/changelog
--- beav-1.40/debian/changelog 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/debian/changelog 2022-11-23 20:55:42.000000000 +0100
@@ -1,3 +1,10 @@
+beav (1:1.40-18.4) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Convert to 3.0 source format (Closes: #1007694).
+
+ -- Bastian Germann <b...@debian.org> Wed, 23 Nov 2022 20:55:42 +0100
+
beav (1:1.40-18.3) unstable; urgency=medium
* Non-maintainer upload.
diff -Nru beav-1.40/debian/patches/debian.patch
beav-1.40/debian/patches/debian.patch
--- beav-1.40/debian/patches/debian.patch 1970-01-01 01:00:00.000000000
+0100
+++ beav-1.40/debian/patches/debian.patch 2022-11-23 20:55:42.000000000
+0100
@@ -0,0 +1,1336 @@
+--- /dev/null
++++ beav-1.40/Makefile
+@@ -0,0 +1,25 @@
++# This is the makefile for BSD UNIX
++#CFLAGS= -g -DUNIX
++CFLAGS= -g -DUNIX -Wall
++CC=gcc
++
++OFILES= basic.o ebcdic.o fileio.o region.o text.o wangpc.o \
++ buffer.o echo.o language.o main.o search.o tty.o window.o \
++ cinfo.o extend.o kbd.o spawn.o ttyio.o termio.o tcap.o word.o \
++ display.o file.o line.o random.o symbol.o ttykbd.o format.o
++
++
++CFILES= basic.c ebcdic.c fileio.c region.c text.c wangpc.c \
++ buffer.c echo.c language.c main.c search.c tty.c window.c \
++ cinfo.c extend.c kbd.c spawn.c ttyio.c termio.c tcap.c word.c \
++ display.c file.c line.c random.c symbol.c ttykbd.c
++
++HFILES= def.h prototyp.h
++
++beav: $(OFILES)
++ $(CC) $(CFLAGS) $(OFILES) -lncurses -o beav
++
++clean:
++ rm -f *.o beav
++
++(OFILES): $(HFILES)
+--- /dev/null
++++ beav-1.40/beav.1
+@@ -0,0 +1,63 @@
++.TH BEAV 1 "" "" \" -*- nroff -*-
++.SH NAME
++beav \- binary file editor and viewer
++.SH SYNOPSIS
++.B beav
++[file...]
++.SH DESCRIPTION
++This is a brief description of the minimal set of commands
++that are necessary to start using
++.IR beav
++effectively.
++For more information, review the file /usr/share/doc/beav/beav140.txt.gz.
++.PP
++The \fIfile-visit\fR command,\fB Ctl-X Ctl-V\fR, can be used to read a
++file in for editing. The file can also be read in from the
++command line; \fBbeav <edit_file>\fR.
++.PP
++Data is displayed in one or more windows.
++These commands can be used to navigate around the windows.
++.PP
++.RS
++\fImove-back-char\fB Ctl-B\fB moves left\fR
++.br
++\fImove-back-line\fB Ctl-P\fB moves up\fR
++.br
++\fImove-forw-char\fb Ctl-F\fB moves right\fR
++.br
++\fImove-forw-line\fB Ctl-N\fB moves down\fR
++.br
++\fIwindow-delete\fB Ctl-X 0\fB delete window\fR
++.br
++\fIwindow-expand\fB Ctl-X 1\fB expand window\fR
++.br
++.RE
++.PP
++The \fImove-to-byte\fR command,\fB Ctl-X G\fR, will prompt you for a
++byte position to move to.
++.PP
++These commands will insert a zero byte at the cursor
++position or delete the byte at that position.
++.PP
++.RS
++\fIinsert-unit\fB Ctl-X I\fR
++.br
++\fIdelete-forw-unit\fB Esc D\fR
++.br
++.RE
++.PP
++The \fIfile-save\fR command,\fB Ctl-X Ctl-S\fR, will save the data to
++the file if a change has been made.
++.PP
++The \fIhelp\fR command,\fB Esc ?\fR, will display a list of all
++commands and their current key bindings.
++.PP
++The \fIabort-cmd\fR command,\fB Ctl-G\fR, will abort any command that
++is in operation.
++.PP
++The \fIquit-no-save\fR command,\fB Ctl-X Ctl-C\fR, will exit beav.
++If there is any data that has not been saved you will be warned.
++.PP
++.SH FILES
++/usr/share/doc/beav/beav140.txt.gz
++
+--- beav-1.40.orig/buffer.c
++++ beav-1.40/buffer.c
+@@ -2,6 +2,8 @@
+ * Buffer handling.
+ */
+
++#include <string.h>
++#include <stdlib.h>
+ #include "def.h"
+
+ bool onebuf ();
+@@ -166,7 +168,7 @@ killbuffer ()
+
+ if ((s = ereply (MSG_kill_b, bufn, NBUFN, 0)) != TRUE)
+ return (s);
+- if (s = _killbuffer (bufn))
++ if ((s = _killbuffer (bufn)))
+ writ_echo (okmsg); /* verbose-ness (jam) */
+ return (s);
+ }
+@@ -805,7 +807,7 @@ pickone ()
+ register LINE *lp;
+ char name[NBUFN + 1];
+ char buf[3];
+- WINDOW *wp;
++ //WINDOW *wp;
+
+ lp = curwp->w_dotp; /* get the buffer name from the line */
+
+--- beav-1.40.orig/def.h
++++ beav-1.40/def.h
+@@ -9,11 +9,13 @@
+ * The most common reason to edit this file would be to zap
+ * the definition of CVMVAS or BACKUP.
+ */
++#ifndef DEF_DEF
++#define DEF_DEF
+ #define LINT_ARGS 1 /* enable lint type checking */
+-#include "stdio.h"
++#include <stdio.h>
+
+ #ifdef UNIX
+-#include "sys/types.h"
++#include <sys/types.h>
+ #endif /* UNIX */
+
+ #define BACKUP 1 /* Make backup file. */
+@@ -39,6 +41,7 @@
+ #define D8 uchar /* this had better be a 8 bit quantity */
+ #define D16 ushort /* this had better be a 16 bit quantity
*/
+ #define D32 ulong /* this had better be a 32 bit quantity */
++#define F32 float /* this had better be a 32 bit quantity */
+ #define D64 double /* this had better be a 64 bit quantity
*/
+
+ /* this define is reserved for the address of a location in the buffer */
+@@ -131,9 +134,9 @@
+ * Table sizes, etc.
+ */
+ #define NSHASH 31 /* Symbol table hash size. */
+-#define NFILEN 256 /* Length, file name. */
+-#define NBUFN 13 /* Length, buffer name. */
+-#define NFILE 12 /* Length, file name. */ /* krw */
++#define NFILEN 4096 /* Length, file name. */
++#define NBUFN 4097 /* Length, buffer name. */
++#define NFILE 4096 /* Length, file name. */ /* krw */
+ #define NKBDM 256 /* Length, keyboard macro. */
+ #define NMSG 512 /* Length, message buffer. */
+ #define NPAT 80 /* Length, pattern. */
+@@ -269,9 +272,9 @@
+ #define _L 0x04 /* Lower case letter. */
+ #define _C 0x08 /* Control. */
+
+-#define ISCTRL(c) ((cinfo[(c)]&_C)!=0)
+-#define ISUPPER(c) ((cinfo[(c)]&_U)!=0)
+-#define ISLOWER(c) ((cinfo[(c)]&_L)!=0)
++#define ISCTRL(c) ((cinfo[(int)(c)]&_C)!=0)
++#define ISUPPER(c) ((cinfo[(int)(c)]&_U)!=0)
++#define ISLOWER(c) ((cinfo[(int)(c)]&_L)!=0)
+ #define TOUPPER(c) ((c)-0x20)
+ #define TOLOWER(c) ((c)+0x20)
+
+@@ -295,6 +298,9 @@
+ #define R_BYTE_FMT(wp) (wp -> w_fmt_ptr -> r_byte_fmt)
+ #define R_POSITIONS(wp) (wp -> w_fmt_ptr -> r_positions)
+
++struct vid;
++
++
+ /*
+ * The symbol table links editing functions
+ * to names. Entries in the key map point at the symbol
+@@ -557,13 +563,7 @@ extern int flush_count;
+ extern int rowb;
+ extern char file_off_bad;
+
+-/*
+- * Standard I/O.
+- */
+-extern char *malloc ();
+-extern char *strcpy ();
+-extern char *strcat ();
+-
+ #ifndef NOPROTO
+ #include "prototyp.h"
+ #endif /* NOPROTO */
++#endif
+--- beav-1.40.orig/display.c
++++ beav-1.40/display.c
+@@ -9,11 +9,14 @@
+ * both off, the terminal is a VT52.
+ */
+
++#include <stdlib.h>
++#include <string.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include "def.h"
+
+ D64 get_double ();
++F32 get_float ();
+ D32 get_long ();
+ D16 get_int ();
+ void writ_echo ();
+@@ -23,7 +26,6 @@ uint fill_buf ();
+ uint get_currow ();
+ uint get_curcol ();
+ #ifndef NOPROTO
+-struct vid;
+ void ucopy (struct vid *vvp, struct vid *pvp);
+ void uline (int row, struct vid *vvp, struct vid *pvp);
+ #else
+@@ -40,6 +42,7 @@ extern char MSG_11lX[];
+ extern char MSG_11lo[];
+ extern char MSG_11ld[];
+ extern char MSG_116e[];
++extern char MSG_106e[];
+ extern char MSG_03o[];
+ extern char MSG_06o[];
+ extern char MSG_011lo[];
+@@ -67,6 +70,7 @@ extern char MSG_curs_oct[];
+ extern char MSG_siz_8[];
+ extern char MSG_siz_16[];
+ extern char MSG_siz_32[];
++extern char MSG_siz_64[];
+ extern char MSG_siz_null[];
+ extern char MSG_int_shift[];
+ extern char MSG_mot_shift[];
+@@ -170,6 +174,8 @@ vtinit ()
+ exit (1); /* can't continue */
+ }
+
++ memset(video, 0, sizeof (VIDEO) * 2 * nrow);
++
+ vp = &video[0];
+ for (i = 0; i < nrow; ++i)
+ {
+@@ -481,6 +487,21 @@ bin_to_text (bin_buf, txt_buf, len, fmt_
+ break;
+ #if FLOAT_DISP
+ case FLOAT:
++ switch (size)
++ {
++ case DWORDS:
++ {
++ k = 0;
++ for (i = 0; i < len; i += sizeof (F32))
++ {
++ F32 temp_d;
++
++ temp_d = get_float (&bin_buf[i]);
++ sprintf (&txt_buf[posn[k++]], MSG_106e, temp_d);
++ }
++ }
++ break;
++ case DOUBLES:
+ {
+ /*
+ * The Intel floating point representation is;
+@@ -502,6 +523,8 @@ bin_to_text (bin_buf, txt_buf, len, fmt_
+ }
+ }
+ break;
++ }
++ break;
+ #endif
+ case HEX:
+ switch (size)
+@@ -673,11 +696,45 @@ get_long (w_buf)
+ }
+
+ #if FLOAT_DISP
++
+ /*
+-* Get an double from the buffer.
++* Get a float from the buffer.
+ * Perform the Intel byte shuffle if necessary
+ */
+
++F32
++get_float (w_buf)
++ uchar *w_buf;
++
++{
++ uchar temp_float[sizeof (F32)];
++ F32 *fp;
++ int i, siz;
++
++ fp = (F32 *) temp_float;
++ siz = sizeof (F32);
++
++ if (curwp->w_intel_mode)
++ {
++ for (i = 0; i <= siz-1; i++)
++ {
++ temp_float[i] = 0xff & w_buf[i];
++ }
++ }
++ else
++ {
++ for (i = 0; i <= siz-1; i++)
++ {
++ temp_float[(siz - 1) - i] = 0xff & w_buf[i];
++ }
++ }
++ return (*fp);
++}
++
++/*
++* Get a double from the buffer.
++* Perform the Intel byte shuffle if necessary
++*/
+ D64
+ get_double (w_buf)
+ uchar *w_buf;
+@@ -698,7 +755,7 @@ get_double (w_buf)
+ }
+ else
+ {
+- for (i = 0; i <= 7; i++)
++ for (i = 0; i <= siz-1; i++)
+ {
+ temp_doub[(siz - 1) - i] = 0xff & w_buf[i];
+ }
+@@ -1246,6 +1303,7 @@ modeline (wp)
+
+ if ((mode == HEX) ||
+ (mode == DECIMAL) ||
++ (mode == FLOAT) ||
+ (mode == OCTAL))
+ {
+ switch (size)
+@@ -1259,6 +1317,9 @@ modeline (wp)
+ case DWORDS:
+ sprintf (posn_buf, MSG_siz_32);
+ break;
++ case DOUBLES:
++ sprintf (posn_buf, MSG_siz_64);
++ break;
+ #if RUNCHK
+ default:
+ writ_echo (ERR_disp_6);
+--- beav-1.40.orig/english.c
++++ beav-1.40/english.c
+@@ -258,6 +258,7 @@ char MSG_show_save_buf[] = "show-save-bu
+ char MSG_unit_size1[] = "display-bytes";
+ char MSG_unit_size2[] = "display-words";
+ char MSG_unit_size4[] = "display-double-words";
++char MSG_unit_size8[] = "display-quad-words";
+ char MSG_reposition_window[] = "window-reposition";
+ char MSG_set_mark[] = "mark-set";
+ char MSG_goto_eob[] = "move-to-end";
+--- beav-1.40.orig/extend.c
++++ beav-1.40/extend.c
+@@ -1,6 +1,7 @@
+ /*
+ * Extended (M-X) commands.
+ */
++#include <string.h>
+ #include "def.h"
+
+ extern char MSG_not_now[];
+@@ -25,10 +26,10 @@ extern char MSG_unk_rc[];
+
+ char *flook ();
+
+-static char *bindnm =
+-{
+- 0
+-}; /* file name for customized key bindings */
++//static char *bindnm =
++//{
++// 0
++//}; /* file name for customized key bindings */
+ #endif
+
+ /*
+@@ -240,7 +241,7 @@ wallchart (f, n, k)
+ if ((sp->s_modify & SBOUND) == 0) /* comment out default binding
*/
+ buf[0] = '#';
+ cp2 = sp->s_name; /* Add function name. */
+- while (*cp1++ = *cp2++)
++ while ((*cp1++ = *cp2++))
+ ;
+ cp1--;
+ while (cp1 < &buf[HKEY]) /* Goto column 32. */
+@@ -269,7 +270,7 @@ wallchart (f, n, k)
+ *cp1++ = ' ';
+ buf[0] = '#';
+ cp2 = sp->s_name; /* Add function name. */
+- while (*cp1++ = *cp2++)
++ while ((*cp1++ = *cp2++))
+ ;
+ cp1--;
+ while (cp1 < &buf[HENDCOL])
+@@ -373,7 +374,7 @@ check_extend (sfname)
+ if (fname == NULL)
+ return;
+
+- if (bindf = fopen (fname, "r"))
++ if ((bindf = fopen (fname, "r")))
+ {
+ char buffr[80];
+ char *buffp;
+@@ -409,7 +410,7 @@ check_extend (sfname)
+ }
+ else
+ {
+- if (sp = symlookup (funcname))
++ if ((sp = symlookup (funcname)))
+ {
+ if (binding[keyval] != NULL) /* Unbind old, and */
+ --binding[keyval]->s_nkey;
+@@ -439,7 +440,7 @@ flook (fname, hflag)
+ register char *home; /* path to home directory */
+ register char *path; /* environmental PATH variable */
+ register char *sp; /* pointer into path spec */
+- register int i; /* index */
++ //register int i; /* index */
+ static char fspec[NFILEN * 2]; /* full path spec to search */
+ char *getenv ();
+ FILE *bindf;
+@@ -456,7 +457,7 @@ flook (fname, hflag)
+ strcat (fspec, fname);
+
+ /* and try it out */
+- if (bindf = fopen (fspec, "r"))
++ if ((bindf = fopen (fspec, "r")))
+ {
+ fclose (bindf);
+ return (fspec);
+@@ -465,7 +466,7 @@ flook (fname, hflag)
+ }
+
+ /* always try the current directory first */
+- if (bindf = fopen (fname, "r"))
++ if ((bindf = fopen (fname, "r")))
+ {
+ fclose (bindf);
+ return (fname);
+@@ -490,7 +491,7 @@ flook (fname, hflag)
+ strcat (fspec, fname);
+
+ /* and try it out */
+- if (bindf = fopen (fspec, "r"))
++ if ((bindf = fopen (fspec, "r")))
+ {
+ fclose (bindf);
+ return (fspec);
+--- beav-1.40.orig/file.c
++++ beav-1.40/file.c
+@@ -1,6 +1,7 @@
+ /*
+ * File commands.
+ */
++#include <string.h>
+ #include <sys/types.h>
+ #include <fcntl.h>
+ #include <sys/stat.h>
+@@ -329,7 +330,10 @@ readin (fname, start, end)
+ bp->b_flag &= ~BFCHG; /* No change. */
+ #endif
+ if ((start == 0L) && (end == MAXPOS))
+- strcpy (bp->b_fname, fname);
++ {
++ strncpy (bp->b_fname, fname, NFILEN);
++ bp->b_fname[NFILEN - 1] = '\0';
++ }
+ else
+ strcpy (bp->b_fname, MSG_null);
+ bp->b_file_size = 0;
+@@ -337,7 +341,7 @@ readin (fname, start, end)
+ if ((s = ffropen (fname)) == FIOERR || s == FIOFNF) /* jam */
+ goto out;
+ bp->b_file_size = file_len (); /* get the file lenth */
+- sprintf (buf, MSG_reading, fname); /* jam */
++ snprintf (buf, NCOL, MSG_reading, fname); /* jam */
+ writ_echo (buf);
+ temp = ffseek (start);
+ if (temp != start)
+--- beav-1.40.orig/fileio.c
++++ beav-1.40/fileio.c
+@@ -3,6 +3,7 @@
+ */
+
+ #ifdef UNIX
++#include <unistd.h>
+ #include <sys/types.h>
+ #include <fcntl.h>
+ #include <sys/stat.h>
+@@ -249,9 +250,9 @@ bool
+ fbackupfile (fname)
+ char *fname;
+ {
+- char backname[NFILEN];
+- char *source, *backup;
+- char buf[NCOL];
++ unsigned char backname[NFILEN];
++ unsigned char *source, *backup;
++ unsigned char buf[NCOL];
+
+ source = fname;
+ backup = backname;
+--- beav-1.40.orig/format.c
++++ beav-1.40/format.c
+@@ -171,10 +171,29 @@ uchar decimal_s_32_posn[] =
+ };
+ ROW_FMT decimal_s_32_fmt =
+ {
+- DECIMAL, DWORDS, 4, 16, 4, 4, 10, TRUE, decimal_l_str, decimal_l_str,
decimal_str,
++ DECIMAL, DWORDS, 4, 16, 4, 4, 12, TRUE, decimal_l_str, decimal_l_str,
decimal_str,
+ decimal_s_32_posn, 0};
+
+ #if FLOAT_DISP
++uchar float_32_posn[] =
++{
++ FC, FC + 16, FC + 32, FC + 48
++};
++
++ROW_FMT float_32_fmt =
++{
++ FLOAT, DWORDS, 4, 16, 4, 4, 12, TRUE, float_str, decimal_l_str,
decimal_str,
++ float_32_posn, 0};
++
++uchar float_s_32_posn[] =
++{
++ FS, FS + 17
++};
++ROW_FMT float_s_32_fmt =
++{
++ FLOAT, DWORDS, 4, 16, 4, 4, 14, TRUE, float_str, decimal_l_str,
decimal_str,
++ float_s_32_posn, 0};
++
+ uchar float_64_posn[] =
+ {
+ FC, FC + 32
+@@ -338,6 +357,8 @@ init_fmt ()
+ decimal_32_fmt.r_srch_fmt = &decimal_s_32_fmt;
+ decimal_s_32_fmt.r_srch_fmt = &decimal_32_fmt;
+ #if FLOAT_DISP
++ float_32_fmt.r_srch_fmt = &float_s_32_fmt;
++ float_s_32_fmt.r_srch_fmt = &float_32_fmt;
+ float_64_fmt.r_srch_fmt = &float_s_64_fmt;
+ float_s_64_fmt.r_srch_fmt = &float_64_fmt;
+ #endif
+--- beav-1.40.orig/kbd.c
++++ beav-1.40/kbd.c
+@@ -1,6 +1,7 @@
+ /* KBD.C
+ * Terminal independent keyboard handling.
+ */
++#include <string.h>
+ #include "def.h"
+
+ char *keystrings ();
+--- beav-1.40.orig/language.c
++++ beav-1.40/language.c
+@@ -258,6 +258,7 @@ char MSG_show_save_buf[] = "show-save-bu
+ char MSG_unit_size1[] = "display-bytes";
+ char MSG_unit_size2[] = "display-words";
+ char MSG_unit_size4[] = "display-double-words";
++char MSG_unit_size8[] = "display-quad-words";
+ char MSG_reposition_window[] = "window-reposition";
+ char MSG_set_mark[] = "mark-set";
+ char MSG_goto_eob[] = "move-to-end";
+--- beav-1.40.orig/line.c
++++ beav-1.40/line.c
+@@ -18,6 +18,7 @@
+ * nonsense.
+ */
+
++#include <stdlib.h>
+ #include "def.h"
+
+ void l_fix_up ();
+--- beav-1.40.orig/main.c
++++ beav-1.40/main.c
+@@ -35,6 +35,7 @@
+ *
+ * Mainline, macro commands.
+ */
++#include <stdlib.h>
+ #include "def.h"
+
+ bool execute ();
+@@ -98,7 +99,7 @@ int flush_count = 0;
+ int flush_num = 500;
+ int auto_update = 0;
+
+-void
++int
+ main (argc, argv)
+ char *argv[];
+ int argc;
+@@ -109,7 +110,7 @@ main (argc, argv)
+ register int n;
+ register int mflag;
+ char bname[NBUFN];
+- char initfile[NFILEN];
++ //char initfile[NFILEN];
+
+ #if MSDOS
+ is_wang (); /* Check for computer type */
+@@ -143,7 +144,7 @@ main (argc, argv)
+ check_extend (NULL); /* check for extended keys */
+ #endif
+
+- if (argc == 1)
++ if (argc <= 1)
+ {
+ edinit (bname);
+ eerase ();
+@@ -182,6 +183,8 @@ main (argc, argv)
+ save_buf_init (); /* initialize save buffer */
+ lastflag = 0; /* Fake last flags. */
+
++ writ_echo ("Welcome to BEAV. Esc-? for help, Ctrl-C to quit.");
++
+ loop:
+ update ();
+ c = getkey ();
+@@ -389,6 +392,7 @@ quit (f, n, k)
+ {
+
+ vttidy ();
++ printf("\n");
+ exit (GOOD);
+ }
+
+--- beav-1.40.orig/prototyp.h
++++ beav-1.40/prototyp.h
+@@ -1,3 +1,8 @@
++#ifndef PROTOTYP_DEF
++#define PROTOTYP_DEF
++
++#include "def.h"
++
+ extern char backchar (int f, int n, int k);
+ extern char forwchar (int f, int n, int k);
+ extern char move_ptr (struct WINDOW *wp, long len, char dot, char fix, char
rel);
+@@ -116,7 +121,7 @@ extern char ldelete (unsigned long n_byt
+ extern void lreplace (int n, char c);
+ extern char lrepl_str (int plen, struct LINE *rstr, struct LINE *mstr);
+ extern void l_fix_up (struct LINE *line);
+-extern void main (int argc, char **argv);
++extern int main (int argc, char **argv);
+ extern char execute (int c, int f, int n);
+ extern void edinit (char *bname);
+ extern char flush_all (void);
+@@ -151,6 +156,7 @@ extern char backdel (int f, int n, int k
+ extern char dispsize1 (void);
+ extern char dispsize2 (void);
+ extern char dispsize4 (void);
++extern char dispsize8 (void);
+ extern char dispswapbyte (int f, int n, int k);
+ extern char yank (int f, int n, int k);
+ extern char linkwind (void);
+@@ -203,7 +209,9 @@ extern int getkbd (void);
+ extern void ttykeymapinit (void);
+ extern char *keystrings (int key);
+ extern void is_wang (void);
++#ifdef MSDOS
+ extern int getsysconfig (union REGS *outregs, struct SREGS *segregs);
++#endif
+ extern char getscreenstate (void);
+ extern char reposition (void);
+ extern char nextwind (void);
+@@ -222,3 +230,5 @@ extern char backunit (int f, int n, int
+ extern char forwunit (int f, int n, int k);
+ extern char delfunit (int f, int n, int k);
+ extern char delbunit (int f, int n, int k);
++
++#endif
+--- beav-1.40.orig/random.c
++++ beav-1.40/random.c
+@@ -6,11 +6,13 @@
+ * that they are all command processors.
+ */
+
++#include <string.h>
+ #include "def.h"
+
+ char backdel ();
+ bool fill_out ();
+ void bad_key ();
++F32 get_float ();
+ D64 get_double ();
+
+
+@@ -24,6 +26,7 @@ extern char MSG_03u[];
+ extern char MSG_05u[];
+ extern char MSG_010lu[];
+ extern char MSG_116e[];
++extern char MSG_106e[];
+ extern char MSG_lnk[];
+ extern char MSG_unlink[];
+ extern char MSG_link[];
+@@ -59,6 +62,7 @@ extern ROW_FMT decimal_8_fmt;
+ extern ROW_FMT decimal_16_fmt;
+ extern ROW_FMT decimal_32_fmt;
+ #if FLOAT_DISP
++extern ROW_FMT float_32_fmt;
+ extern ROW_FMT float_64_fmt;
+ #endif
+ extern ROW_FMT hex_8_fmt;
+@@ -138,7 +142,7 @@ twiddle ()
+
+ register LINE *dotp;
+ register short doto;
+- char b_per_u, f_buf[4], s_buf[4], i;
++ unsigned char b_per_u, f_buf[4], s_buf[4], i;
+
+ dotp = curwp->w_dotp;
+ doto = curwp->w_doto;
+@@ -154,7 +158,7 @@ twiddle ()
+ /* pick up first unit byte by byte */
+ for (i = 0; i < b_per_u; i++)
+ {
+- f_buf[i] = DOT_CHAR (curwp);
++ f_buf[(int)i] = DOT_CHAR (curwp);
+ move_ptr (curwp, 1L, TRUE, FALSE, TRUE);
+ }
+ /* move to the end of the second unit */
+@@ -168,14 +172,14 @@ twiddle ()
+ /* pick up second unit (reverse order) and deposit second unit */
+ for (i = 0; i < b_per_u; i++)
+ {
+- s_buf[i] = DOT_CHAR (curwp);
+- DOT_CHAR (curwp) = f_buf[b_per_u - 1 - i];
++ s_buf[(int)i] = DOT_CHAR (curwp);
++ DOT_CHAR (curwp) = f_buf[(int)b_per_u - 1 - i];
+ move_ptr (curwp, -1L, TRUE, FALSE, TRUE);
+ }
+ /* deposit first unit */
+ for (i = 0; i < b_per_u; i++)
+ {
+- DOT_CHAR (curwp) = s_buf[i];
++ DOT_CHAR (curwp) = s_buf[(int)i];
+ move_ptr (curwp, -1L, TRUE, FALSE, TRUE);
+ }
+ curwp->w_dotp = dotp;
+@@ -567,7 +571,7 @@ selfinsert (f, n, k)
+ /* get a text representation of the float */
+ sprintf (text_buf, MSG_116e, d_val);
+ /* insert the character that was typed */
+- text_buf[u_offs] = c;
++ text_buf[(int)u_offs] = c;
+ /* see if scanf get get back a good number */
+
+ /************************************************
+@@ -601,7 +605,7 @@ selfinsert (f, n, k)
+
+ ptr = (D8 *) & d_val;
+ move_ptr (curwp, 1L, TRUE, FALSE, TRUE); /* step forward
one byte */
+- DOT_CHAR (curwp) = ptr[i] & 0xff;
++ DOT_CHAR (curwp) = ptr[(int)i] & 0xff;
+ }
+
+ /* restore dot position */
+@@ -704,15 +708,15 @@ dec_chr_ok (char_buf, max_str, chr, pos)
+ if ((chr < '0') || (chr > '9'))
+ return (FALSE);
+
+- char_buf[pos] = chr; /* insert typed char */
++ char_buf[(int)pos] = chr; /* insert typed char */
+
+ /* check if number is too big */
+- for (i = 0; max_str[i] != 0; i++)
++ for (i = 0; max_str[(int)i] != 0; i++)
+ {
+- if (char_buf[i] < max_str[i])
++ if (char_buf[(int)i] < max_str[(int)i])
+ break; /* if char is smaller then must be ok */
+
+- if (char_buf[i] > max_str[i])
++ if (char_buf[(int)i] > max_str[(int)i])
+ return (FALSE); /* val is too large; ERROR */
+ }
+ return (TRUE);
+@@ -767,7 +771,15 @@ ebcdicmode ()
+ bool
+ floatmode ()
+ {
++ switch (curwp->w_fmt_ptr->r_size)
++ {
++ case DWORDS:
++ curwp->w_fmt_ptr = &float_32_fmt;
++ break;
++ case DOUBLES:
+ curwp->w_fmt_ptr = &float_64_fmt;
++ break;
++ }
+ set_mode_vars ();
+ return (TRUE);
+ }
+@@ -1148,6 +1160,43 @@ dispsize4 ()
+ curwp->w_fmt_ptr = &binary_32_fmt;
+ break;
+
++ case FLOAT:
++ curwp->w_fmt_ptr = &float_32_fmt;
++ break;
++
++ default:
++ return (TRUE);
++ break;
++ }
++
++ /* if we are in the middle of a search then use the proper format struc */
++ if (read_pat_mode)
++ curwp->w_fmt_ptr = curwp->w_fmt_ptr->r_srch_fmt;
++
++ move_ptr (curwp, 0L, TRUE, TRUE, TRUE);
++ wind_on_dot (curwp);
++ curwp->w_flag = WFHARD;
++ update ();
++ return (TRUE);
++}
++
++/*
++* Change the size of the display unit to double.
++* Adjust byte shift to the allowable range.
++* Normally bound to "META-8".
++*/
++bool
++dispsize8 ()
++{
++ curwp->w_disp_shift = 0; /* shift to 0 when changing size */
++ curwp->w_unit_offset = 0; /* go to end of unit */
++
++ switch ((uchar) (R_TYPE (curwp)))
++ {
++ case FLOAT:
++ curwp->w_fmt_ptr = &float_64_fmt;
++ break;
++
+ default:
+ return (TRUE);
+ break;
+--- beav-1.40.orig/region.c
++++ beav-1.40/region.c
+@@ -6,6 +6,7 @@
+ * commands. Some functions are just for
+ * internal use.
+ */
++#include <string.h>
+ #include "def.h"
+
+ bool getregion ();
+--- beav-1.40.orig/search.c
++++ beav-1.40/search.c
+@@ -4,6 +4,7 @@
+ * search commands (both plain and incremental searches
+ * are supported) and the query-replace command.
+ */
++#include <string.h>
+ #include "def.h"
+
+ char replaceit ();
+@@ -239,7 +240,7 @@ queryrepl (f, n, k)
+ srch_mode = FALSE;
+ rplc_mode = TRUE;
+ cur_prompt = MSG_sch_str;
+- if (s = readpattern ())
++ if ((s = readpattern ()))
+ {
+ replaceit ();
+ }
+--- beav-1.40.orig/symbol.c
++++ beav-1.40/symbol.c
+@@ -4,6 +4,8 @@
+ * The terminal specific parts of building the
+ * keymap has been moved to a better place.
+ */
++#include <stdlib.h>
++#include <string.h>
+ #include "def.h"
+
+ void keyadd ();
+@@ -78,6 +80,7 @@ extern char MSG_display_version[];
+ extern char MSG_unit_size1[];
+ extern char MSG_unit_size2[];
+ extern char MSG_unit_size4[];
++extern char MSG_unit_size8[];
+ extern char MSG_reposition_window[];
+ extern char MSG_set_mark[];
+ extern char MSG_goto_eob[];
+@@ -200,6 +203,7 @@ extern char binarymode (); /* display BI
+ extern char dispsize1 (); /* display in BYTE format */
+ extern char dispsize2 (); /* display in WORD format */
+ extern char dispsize4 (); /* display in DWORD format*/
++extern char dispsize8 (); /* display in DOUBLE format*/
+ extern char dispswapbyte (); /* Display swaped bytes pvr */
+ extern char yank (); /* Yank back from killbuffer. */
+ extern char linkwind (); /* Link all windows on one buffer. */
+@@ -275,105 +279,106 @@ typedef struct
+ */
+ KEY key[] =
+ {
+- KCTRL | 'A', dispshift, MSG_byte_shift, 0,
+- KCTRL | 'B', backchar, MSG_back_char, SSRCH | SRPLC,
+- KCTRL | 'C', quit, MSG_quit, 0, /* pvr */
+- KCTRL | 'D', forwdel, MSG_forw_del_char, SMOD | SSIZE | SSRCH | SRPLC,
+- KCTRL | 'E', dispswapbyte, MSG_toggle_swap, SSRCH | SRPLC, /* pvr
*/
+- KCTRL | 'F', forwchar, MSG_forw_char, SSRCH | SRPLC,
+- KCTRL | 'G', ctrlg, MSG_abort, SSRCH | SRPLC,
+- KCTRL | 'I', selfinsert, MSG_ins_self, SMOD | SSRCH | SRPLC,
+- KCTRL | 'H', backdel, MSG_back_del_char, SMOD | SSIZE | SSRCH | SRPLC,
+- KCTRL | 'L', refresh, MSG_refresh, SSRCH | SRPLC,
+- KCTRL | 'N', forwline, MSG_forw_line, SSRCH | SRPLC,
+- KCTRL | 'P', backline, MSG_back_line, SSRCH | SRPLC,
+- KCTRL | 'Q', quote, MSG_quote, 0,
+- KCTRL | 'R', recall, MSG_recall, SSRCH | SRPLC,
+- KCTRL | 'T', twiddle, MSG_twiddle, SMOD | SSRCH | SRPLC,
+- KCTRL | 'V', forwpage, MSG_forw_page, SRPLC,
+- KCTRL | 'W', killregion, MSG_kill_region, SMOD | SSIZE,
+- KCTRL | 'Y', yank, MSG_yank, SMOD | SSIZE,
+- KCTRL | 'Z', mvdnwind, MSG_down_window, 0, /* fitz */
+- KCTLX | KCTRL | 'A', insert_toggle, MSG_ins_toggle, SSRCH | SRPLC,
+- KCTLX | KCTRL | 'B', listbuffers, MSG_display_buffers, 0,
+- KCTLX | KCTRL | 'C', quit, MSG_quit, 0,
+- KCTLX | KCTRL | 'E', flushnquit, MSG_exit_flush_all, 0, /* fitz */
+- KCTLX | KCTRL | 'F', filename, MSG_set_file_name, SMOD, /* jam */
+- KCTLX | KCTRL | 'I', fileinsert, MSG_file_insert, SMOD | SSIZE,
+- KCTLX | KCTRL | 'L', bufsizlock, MSG_buf_size_lock, 0,
+- KCTLX | KCTRL | 'M', flush_all, MSG_flush_all, 0,
+- KCTLX | KCTRL | 'N', mvdnwind, MSG_down_window, 0,
+- KCTLX | KCTRL | 'P', mvupwind, MSG_up_window, 0,
+- KCTLX | KCTRL | 'R', fileread, MSG_file_read, 0,
+- KCTLX | KCTRL | 'S', filesave, MSG_file_save, 0,
+- KCTLX | KCTRL | 'V', filevisit, MSG_file_visit, 0,
+- KCTLX | KCTRL | 'W', filewrite, MSG_file_write, 0,
+- KCTLX | KCTRL | 'X', swapmark, MSG_swap_dot_and_mark, 0,
+- KCTLX | KCTRL | 'Z', shrinkwind, MSG_shrink_window, 0,
+- KCTLX | '=', showcpos, MSG_display_position, 0,
+- KCTLX | '(', ctlxlp, MSG_start_macro, 0,
+- KCTLX | ')', ctlxrp, MSG_end_macro, 0,
+- KCTLX | '?', help, MSG_help, 0,
+- KCTLX | '0', delwind, MSG_del_window, 0,
+- KCTLX | '1', onlywind, MSG_only_window, 0,
+- KCTLX | '2', splitwind, MSG_split_window, 0,
+- KCTLX | 'B', usebuffer, MSG_use_buffer, 0,
+- KCTLX | 'C', spawncli, MSG_spawn_cli, 0, /* fitz */
+- KCTLX | 'E', ctlxe, MSG_execute_macro, 0,
+- KCTLX | 'G', gotoline, MSG_goto_line, 0,
+- KCTLX | 'I', insertunit, MSG_ins_unit, SMOD | SSIZE | SSRCH | SRPLC,
+- KCTLX | 'K', killbuffer, MSG_kill_buffer, 0,
+- KCTLX | 'L', load_extend, MSG_load_bindings, 0,
+- KCTLX | 'N', nextwind, MSG_forw_window, 0,
+- KCTLX | 'P', prevwind, MSG_back_window, 0,
+- KCTLX | 'V', viewfile, MSG_view_file, 0, /* jam */
+- KCTLX | 'Z', enlargewind, MSG_enlarge_window, 0,
+- KMETA | KCTRL | 'A', asciimode, MSG_ascii_mode, SSRCH | SRPLC, /* pvr
*/
+- KMETA | KCTRL | 'B', binarymode, MSG_binary_mode, SSRCH | SRPLC, /* pvr
*/
+- KMETA | KCTRL | 'D', decimalmode, MSG_decimal_mode, SSRCH | SRPLC,
/* pvr */
+- KMETA | KCTRL | 'E', ebcdicmode, MSG_ebcdic_mode, SSRCH | SRPLC, /* pvr
*/
++ { KCTRL | 'A', dispshift, MSG_byte_shift, 0 },
++ { KCTRL | 'B', backchar, MSG_back_char, SSRCH | SRPLC },
++ { KCTRL | 'C', quit, MSG_quit, 0 }, /* pvr */
++ { KCTRL | 'D', forwdel, MSG_forw_del_char, SMOD | SSIZE | SSRCH | SRPLC },
++ { KCTRL | 'E', dispswapbyte, MSG_toggle_swap, SSRCH | SRPLC }, /* pvr
*/
++ { KCTRL | 'F', forwchar, MSG_forw_char, SSRCH | SRPLC },
++ { KCTRL | 'G', ctrlg, MSG_abort, SSRCH | SRPLC },
++ { KCTRL | 'I', selfinsert, MSG_ins_self, SMOD | SSRCH | SRPLC },
++ { KCTRL | 'H', backdel, MSG_back_del_char, SMOD | SSIZE | SSRCH | SRPLC },
++ { KCTRL | 'L', refresh, MSG_refresh, SSRCH | SRPLC },
++ { KCTRL | 'N', forwline, MSG_forw_line, SSRCH | SRPLC },
++ { KCTRL | 'P', backline, MSG_back_line, SSRCH | SRPLC },
++ { KCTRL | 'Q', quote, MSG_quote, 0 },
++ { KCTRL | 'R', recall, MSG_recall, SSRCH | SRPLC },
++ { KCTRL | 'T', twiddle, MSG_twiddle, SMOD | SSRCH | SRPLC },
++ { KCTRL | 'V', forwpage, MSG_forw_page, SRPLC },
++ { KCTRL | 'W', killregion, MSG_kill_region, SMOD | SSIZE },
++ { KCTRL | 'Y', yank, MSG_yank, SMOD | SSIZE },
++ { KCTRL | 'Z', mvdnwind, MSG_down_window, 0 }, /* fitz */
++ { KCTLX | KCTRL | 'A', insert_toggle, MSG_ins_toggle, SSRCH | SRPLC },
++ { KCTLX | KCTRL | 'B', listbuffers, MSG_display_buffers, 0 },
++ { KCTLX | KCTRL | 'C', quit, MSG_quit, 0 },
++ { KCTLX | KCTRL | 'E', flushnquit, MSG_exit_flush_all, 0 }, /* fitz
*/
++ { KCTLX | KCTRL | 'F', filename, MSG_set_file_name, SMOD }, /* jam
*/
++ { KCTLX | KCTRL | 'I', fileinsert, MSG_file_insert, SMOD | SSIZE },
++ { KCTLX | KCTRL | 'L', bufsizlock, MSG_buf_size_lock, 0 },
++ { KCTLX | KCTRL | 'M', flush_all, MSG_flush_all, 0 },
++ { KCTLX | KCTRL | 'N', mvdnwind, MSG_down_window, 0 },
++ { KCTLX | KCTRL | 'P', mvupwind, MSG_up_window, 0 },
++ { KCTLX | KCTRL | 'R', fileread, MSG_file_read, 0 },
++ { KCTLX | KCTRL | 'S', filesave, MSG_file_save, 0 },
++ { KCTLX | KCTRL | 'V', filevisit, MSG_file_visit, 0 },
++ { KCTLX | KCTRL | 'W', filewrite, MSG_file_write, 0 },
++ { KCTLX | KCTRL | 'X', swapmark, MSG_swap_dot_and_mark, 0 },
++ { KCTLX | KCTRL | 'Z', shrinkwind, MSG_shrink_window, 0 },
++ { KCTLX | '=', showcpos, MSG_display_position, 0 },
++ { KCTLX | '(', ctlxlp, MSG_start_macro, 0 },
++ { KCTLX | ')', ctlxrp, MSG_end_macro, 0 },
++ { KCTLX | '?', help, MSG_help, 0 },
++ { KCTLX | '0', delwind, MSG_del_window, 0 },
++ { KCTLX | '1', onlywind, MSG_only_window, 0 },
++ { KCTLX | '2', splitwind, MSG_split_window, 0 },
++ { KCTLX | 'B', usebuffer, MSG_use_buffer, 0 },
++ { KCTLX | 'C', spawncli, MSG_spawn_cli, 0 }, /* fitz */
++ { KCTLX | 'E', ctlxe, MSG_execute_macro, 0 },
++ { KCTLX | 'G', gotoline, MSG_goto_line, 0 },
++ { KCTLX | 'I', insertunit, MSG_ins_unit, SMOD | SSIZE | SSRCH | SRPLC },
++ { KCTLX | 'K', killbuffer, MSG_kill_buffer, 0 },
++ { KCTLX | 'L', load_extend, MSG_load_bindings, 0 },
++ { KCTLX | 'N', nextwind, MSG_forw_window, 0 },
++ { KCTLX | 'P', prevwind, MSG_back_window, 0 },
++ { KCTLX | 'V', viewfile, MSG_view_file, 0 }, /* jam */
++ { KCTLX | 'Z', enlargewind, MSG_enlarge_window, 0 },
++ { KMETA | KCTRL | 'A', asciimode, MSG_ascii_mode, SSRCH | SRPLC },
/* pvr */
++ { KMETA | KCTRL | 'B', binarymode, MSG_binary_mode, SSRCH | SRPLC },
/* pvr */
++ { KMETA | KCTRL | 'D', decimalmode, MSG_decimal_mode, SSRCH | SRPLC },
/* pvr */
++ { KMETA | KCTRL | 'E', ebcdicmode, MSG_ebcdic_mode, SSRCH | SRPLC },
/* pvr */
+ #if FLOAT_DISP
+- KMETA | KCTRL | 'F', floatmode, MSG_float_mode, SSRCH | SRPLC, /* pvr
*/
++ { KMETA | KCTRL | 'F', floatmode, MSG_float_mode, SSRCH | SRPLC },
/* pvr */
+ #endif
+- KMETA | KCTRL | 'H', hexmode, MSG_hex_mode, SSRCH | SRPLC, /* pvr
*/
+- KMETA | KCTRL | 'K', delbunit, MSG_back_del_unit, SMOD | SSIZE | SSRCH |
SRPLC,
+- KMETA | KCTRL | 'N', buffername, MSG_buffer_name, 0,
+- KMETA | KCTRL | 'O', octalmode, MSG_octal_mode, SSRCH | SRPLC, /* pvr
*/
+- KMETA | KCTRL | 'P', n_way_combine, MSG_n_combine, SSIZE | SMOD, /* pvr
*/
+- KMETA | KCTRL | 'R', screen_rows, MSG_scr_row, 0, /* pvr */
+- KMETA | KCTRL | 'S', n_way_split, MSG_n_split, 0, /* pvr */
+- KMETA | KCTRL | 'V', showversion, MSG_display_version, 0,
+- KMETA | KCTRL | 'W', showsavebuf, MSG_show_save_buf, 0,
+- KMETA | '1', dispsize1, MSG_unit_size1, SSRCH | SRPLC, /* pvr */
+- KMETA | '2', dispsize2, MSG_unit_size2, SSRCH | SRPLC, /* pvr */
+- KMETA | '4', dispsize4, MSG_unit_size4, SSRCH | SRPLC, /* pvr */
+- KMETA | '!', reposition, MSG_reposition_window, 0,
+- KMETA | '.', setmark, MSG_set_mark, 0,
+- KMETA | '>', gotoeob, MSG_goto_eob, SSRCH | SRPLC,
+- KMETA | '<', gotobob, MSG_goto_bob, SSRCH | SRPLC,
+- KMETA | '+', next_buf, MSG_next_buff, 0,
+- KMETA | '-', prev_buf, MSG_prev_buff, 0,
+- KMETA | '%', queryrepl, MSG_query_replace, SMOD,
+- KMETA | '?', wallchart, MSG_display_bindings, 0,
+- KMETA | 'A', autosave, MSG_auto_save, 0,
+- KMETA | 'B', backunit, MSG_back_unit, SSRCH | SRPLC,
+- KMETA | 'C', compare, MSG_compare, 0,
+- KMETA | 'D', delfunit, MSG_forw_del_unit, SMOD | SSIZE | SSRCH | SRPLC,
+- KMETA | 'F', forwunit, MSG_forw_unit, SSRCH | SRPLC,
+- KMETA | 'G', use_buffer, MSG_use_buffer_split, 0,
+- KMETA | 'K', bindtokey, MSG_bind_to_key, 0,
+- KMETA | 'L', linkwind, MSG_link_windows, 0,
+- KMETA | 'O', save_region, MSG_save_region, 0,
+- KMETA | 'P', print, MSG_print, 0,
+- KMETA | 'R', backsearch, MSG_back_search, 0,
+- KMETA | 'S', forwsearch, MSG_forw_search, 0,
+- KMETA | 'T', searchagain, MSG_search_again, 0,
+- KMETA | 'U', file_visit, MSG_file_visit_split, 0,
+- KMETA | 'V', backpage, MSG_back_page, SRPLC,
+- KMETA | 'W', copyregion, MSG_copy_region, 0,
+- KMETA | 'X', extend, MSG_extended_command, 0,
+- KMETA | 'Y', yank_buffer, MSG_yank_buffer, SMOD | SSIZE,
+- KMETA | 'Z', mvupwind, MSG_up_window, 0
++ { KMETA | KCTRL | 'H', hexmode, MSG_hex_mode, SSRCH | SRPLC }, /* pvr
*/
++ { KMETA | KCTRL | 'K', delbunit, MSG_back_del_unit, SMOD | SSIZE | SSRCH
| SRPLC },
++ { KMETA | KCTRL | 'N', buffername, MSG_buffer_name, 0 },
++ { KMETA | KCTRL | 'O', octalmode, MSG_octal_mode, SSRCH | SRPLC },
/* pvr */
++ { KMETA | KCTRL | 'P', n_way_combine, MSG_n_combine, SSIZE | SMOD },
/* pvr */
++ { KMETA | KCTRL | 'R', screen_rows, MSG_scr_row, 0 }, /* pvr */
++ { KMETA | KCTRL | 'S', n_way_split, MSG_n_split, 0 }, /* pvr */
++ { KMETA | KCTRL | 'V', showversion, MSG_display_version, 0 },
++ { KMETA | KCTRL | 'W', showsavebuf, MSG_show_save_buf, 0 },
++ { KMETA | '1', dispsize1, MSG_unit_size1, SSRCH | SRPLC }, /* pvr
*/
++ { KMETA | '2', dispsize2, MSG_unit_size2, SSRCH | SRPLC }, /* pvr
*/
++ { KMETA | '4', dispsize4, MSG_unit_size4, SSRCH | SRPLC }, /* pvr
*/
++ { KMETA | '8', dispsize8, MSG_unit_size8, SSRCH | SRPLC }, /* pvr
*/
++ { KMETA | '!', reposition, MSG_reposition_window, 0 },
++ { KMETA | '.', setmark, MSG_set_mark, 0 },
++ { KMETA | '>', gotoeob, MSG_goto_eob, SSRCH | SRPLC },
++ { KMETA | '<', gotobob, MSG_goto_bob, SSRCH | SRPLC },
++ { KMETA | '+', next_buf, MSG_next_buff, 0 },
++ { KMETA | '-', prev_buf, MSG_prev_buff, 0 },
++ { KMETA | '%', queryrepl, MSG_query_replace, SMOD },
++ { KMETA | '?', wallchart, MSG_display_bindings, 0 },
++ { KMETA | 'A', autosave, MSG_auto_save, 0 },
++ { KMETA | 'B', backunit, MSG_back_unit, SSRCH | SRPLC },
++ { KMETA | 'C', compare, MSG_compare, 0 },
++ { KMETA | 'D', delfunit, MSG_forw_del_unit, SMOD | SSIZE | SSRCH | SRPLC
},
++ { KMETA | 'F', forwunit, MSG_forw_unit, SSRCH | SRPLC },
++ { KMETA | 'G', use_buffer, MSG_use_buffer_split, 0 },
++ { KMETA | 'K', bindtokey, MSG_bind_to_key, 0 },
++ { KMETA | 'L', linkwind, MSG_link_windows, 0 },
++ { KMETA | 'O', save_region, MSG_save_region, 0 },
++ { KMETA | 'P', print, MSG_print, 0 },
++ { KMETA | 'R', backsearch, MSG_back_search, 0 },
++ { KMETA | 'S', forwsearch, MSG_forw_search, 0 },
++ { KMETA | 'T', searchagain, MSG_search_again, 0 },
++ { KMETA | 'U', file_visit, MSG_file_visit_split, 0 },
++ { KMETA | 'V', backpage, MSG_back_page, SRPLC },
++ { KMETA | 'W', copyregion, MSG_copy_region, 0 },
++ { KMETA | 'X', extend, MSG_extended_command, 0 },
++ { KMETA | 'Y', yank_buffer, MSG_yank_buffer, SMOD | SSIZE },
++ { KMETA | 'Z', mvupwind, MSG_up_window, 0 }
+ };
+
+ #define NKEY (sizeof(key) / sizeof(key[0]))
+--- beav-1.40.orig/tcap.c
++++ beav-1.40/tcap.c
+@@ -2,7 +2,10 @@
+ for beav
+ */
+
++#include <term.h>
++#include <stdlib.h>
+ #include "def.h"
++#include "prototyp.h"
+
+ #ifdef UNIX
+
+@@ -78,7 +81,7 @@ tcapopen ()
+
+ if ((tgetent (tcbuf, tv_stype)) != 1)
+ {
+- sprintf (err_str, "Unknown terminal type %s!\r", tv_stype);
++ sprintf (err_str, "Unknown terminal type %s!\n", tv_stype);
+ puts (err_str);
+ ttclose (); /* fix in 1.13 */
+ exit (1);
+@@ -110,7 +113,7 @@ tcapopen ()
+ ttclose (); /* fix in 1.13 */
+ exit (1);
+ }
+- printf ("nrow %d, ncol %d\n", nrow, ncol);
++ printf ("nrow %d, ncol %d\r", nrow, ncol);
+
+ if ((ncol = (short) tgetnum ("co")) == -1)
+ {
+--- beav-1.40.orig/termio.c
++++ beav-1.40/termio.c
+@@ -8,6 +8,8 @@
+
+ #ifdef UNIX /* System V */
+
++#include <unistd.h>
++#include <errno.h>
+ #include <stdio.h>
+ #include <signal.h>
+ #ifdef BSD
+@@ -26,7 +28,11 @@
+ #include <sgtty.h>
+ #define O_NDELAY O_NONBLOCK
+ #else
+-#include <termio.h>
++#ifdef __GLIBC__
++#include <termios.h>
++#else
++#include <termio.h>
++#endif /* __GLIBC__ */
+ #endif /* MINIX */
+ #endif /* OS2 */
+ #endif /* BSD */
+@@ -52,14 +58,20 @@ struct sgttyb otermio; /* original term
+ struct sgttyb ntermio; /* charactoristics to use inside */
+ struct tchars tchars, tcharsorig;
+ #else
++#ifdef __GLIBC__
++#include <sys/ioctl.h>
++struct termios otermio;
++struct termios ntermio;
++#else
+ struct termio otermio; /* original terminal characteristics */
+ struct termio ntermio; /* charactoristics to use inside */
++#endif /* __GLIBC__ */
+ #endif /* MINIX */
+ #endif /* OS2 */
+ #endif /* BSD */
+
+ #ifndef OS2
+-extern errno; /* System error number -- Necessary when
compiling in BSD 1.13 */
++//extern errno; /* System error number -- Necessary
when compiling in BSD 1.13 */
+ #endif
+
+ int nrow; /* Terminal size, rows. */
+@@ -102,7 +114,7 @@ ttopen ()
+ {
+ nrow = ttysize.ts_lines;
+ ncol = ttysize.ts_cols;
+-#endif
++#endif /* ULTRIX */
+ }
+ else
+ {
+@@ -125,15 +137,23 @@ ttopen ()
+ tchars.t_stopc = tchars.t_eofc = tchars.t_brkc = -1;
+ ioctl (0, TIOCSETC, &tchars);
+ #else
++#ifdef __GLIBC__
++ tcgetattr(0,&otermio);
++#else
+ ioctl (0, TCGETA, &otermio);/* save old settings */
++ ntermio.c_line = otermio.c_line;
++#endif
+ ntermio.c_iflag = 0; /* setup new settings */
+ ntermio.c_oflag = 0;
+ ntermio.c_cflag = otermio.c_cflag;
+ ntermio.c_lflag = 0;
+- ntermio.c_line = otermio.c_line;
+ ntermio.c_cc[VMIN] = 1;
+ ntermio.c_cc[VTIME] = 0;
++#ifdef __GLIBC__
++ tcsetattr(0,TCSANOW,&ntermio);
++#else
+ ioctl (0, TCSETAW, &ntermio); /* and activate them */
++#endif
+ #endif /* MINIX */
+ kbdflgs = fcntl (0, F_GETFL, 0);
+ kbdpoll = FALSE;
+@@ -166,7 +186,11 @@ ttclose ()
+ ioctl (0, TIOCSETC, &tcharsorig) == -1)
+ printf ("closing ioctl on dev 0 failure, error = %d\n", errno);
+ #else
++#ifdef __GLIBC__
++ if( tcsetattr(0,TCSANOW,&otermio) == -1)
++#else
+ if (ioctl (0, TCSETAW, &otermio) == -1) /* restore terminal settings */
++#endif
+ printf ("closing ioctl on dev 0 failure, error = %d\n", errno);
+ #endif /* MINIX */
+ if (fcntl (0, F_SETFL, kbdflgs) == -1)
+@@ -271,7 +295,7 @@ static int chr = -1;
+ #endif
+ #endif
+
+-ttgetc ()
++int ttgetc ()
+ {
+ #ifdef OS2
+ #ifdef __EMX__
+@@ -333,7 +357,7 @@ ttgetc ()
+ /* typahead(): Check to see if any characters are already in the
+ keyboard buffer
+ */
+-ttkeyready ()
++int ttkeyready ()
+ {
+ #ifdef OS2
+ #ifdef __EMX__
+--- beav-1.40.orig/text.c
++++ beav-1.40/text.c
+@@ -24,12 +24,14 @@ char MSG_03u[] = "%03u";
+ char MSG_05u[] = "%05u";
+ char MSG_010lu[] = "%010lu";
+ char MSG_116e[] = "%+1.16e";
++char MSG_106e[] = "%+1.6e";
+ char MSG_02X[] = "%02X";
+ char MSG_04X[] = "%04X";
+ char MSG_08lX[] = "%08lX";
+ char MSG_siz_8[] = " 8 ";
+ char MSG_siz_16[] = " 16";
+ char MSG_siz_32[] = " 32";
++char MSG_siz_64[] = " 64";
+ char MSG_siz_null[] = " ";
+ char MSG_int_shift[] = " S%X";
+ char MSG_mot_shift[] = " %X";
+--- beav-1.40.orig/tty.c
++++ beav-1.40/tty.c
+@@ -16,6 +16,9 @@ void ttcolor ();
+ extern void tcapopen ();
+ extern void tcapclose (); /* DR */
+ extern void tcapmove ();
++extern void tcapeeop ();
++extern void tcapeeol ();
++extern void tcaprev ();
+
+ #ifdef MSDOS
+ #include "dos.h"
+@@ -118,8 +121,8 @@ ttmove (row, col)
+ void
+ tteeol ()
+ {
+- char col, row, i;
+ #ifdef MSDOS
++ char col, row, i;
+ union REGS regs;
+
+ if (ibm_pc)
+--- beav-1.40.orig/ttykbd.c
++++ beav-1.40/ttykbd.c
+@@ -67,6 +67,7 @@ extern char MSG_display_version[];
+ extern char MSG_unit_size1[];
+ extern char MSG_unit_size2[];
+ extern char MSG_unit_size4[];
++extern char MSG_unit_size8[];
+ extern char MSG_reposition_window[];
+ extern char MSG_set_mark[];
+ extern char MSG_goto_eob[];
+--- beav-1.40.orig/window.c
++++ beav-1.40/window.c
+@@ -1,6 +1,7 @@
+ /*
+ * Window handling.
+ */
++#include <stdlib.h>
+ #include "def.h"
+
+ bool mvupwind ();
+@@ -288,9 +289,9 @@ splitwind ()
+ register WINDOW *wp;
+ register int ntru;
+ register int ntrl;
+- register int ntrd;
+- register WINDOW *wp1;
+- register WINDOW *wp2;
++ //register int ntrd;
++ //register WINDOW *wp1;
++ //register WINDOW *wp2;
+ char buf[NCOL], buf1[NCOL];
+
+ if (curwp->w_ntrows < MIN_WIN_ROWS)
+--- beav-1.40.orig/word.c
++++ beav-1.40/word.c
+@@ -23,7 +23,7 @@ char
+ backunit (f, n, k)
+ int f, n, k;
+ {
+- char ret;
++ char ret = 0;
+
+ if (n < 0)
+ return (forwunit (f, -n, KRANDOM));
diff -Nru beav-1.40/debian/patches/series beav-1.40/debian/patches/series
--- beav-1.40/debian/patches/series 1970-01-01 01:00:00.000000000 +0100
+++ beav-1.40/debian/patches/series 2022-11-23 20:55:42.000000000 +0100
@@ -0,0 +1 @@
+debian.patch
diff -Nru beav-1.40/debian/source/format beav-1.40/debian/source/format
--- beav-1.40/debian/source/format 1970-01-01 01:00:00.000000000 +0100
+++ beav-1.40/debian/source/format 2022-11-23 20:55:28.000000000 +0100
@@ -0,0 +1 @@
+3.0 (quilt)
diff -Nru beav-1.40/def.h beav-1.40/def.h
--- beav-1.40/def.h 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/def.h 1994-11-30 18:43:35.000000000 +0100
@@ -9,13 +9,11 @@
* The most common reason to edit this file would be to zap
* the definition of CVMVAS or BACKUP.
*/
-#ifndef DEF_DEF
-#define DEF_DEF
#define LINT_ARGS 1 /* enable lint type checking */
-#include <stdio.h>
+#include "stdio.h"
#ifdef UNIX
-#include <sys/types.h>
+#include "sys/types.h"
#endif /* UNIX */
#define BACKUP 1 /* Make backup file. */
@@ -41,7 +39,6 @@
#define D8 uchar /* this had better be a 8 bit quantity */
#define D16 ushort /* this had better be a 16 bit quantity */
#define D32 ulong /* this had better be a 32 bit quantity */
-#define F32 float /* this had better be a 32 bit quantity */
#define D64 double /* this had better be a 64 bit quantity */
/* this define is reserved for the address of a location in the buffer */
@@ -134,9 +131,9 @@
* Table sizes, etc.
*/
#define NSHASH 31 /* Symbol table hash size. */
-#define NFILEN 4096 /* Length, file name. */
-#define NBUFN 4097 /* Length, buffer name. */
-#define NFILE 4096 /* Length, file name. */ /* krw */
+#define NFILEN 256 /* Length, file name. */
+#define NBUFN 13 /* Length, buffer name. */
+#define NFILE 12 /* Length, file name. */ /* krw */
#define NKBDM 256 /* Length, keyboard macro. */
#define NMSG 512 /* Length, message buffer. */
#define NPAT 80 /* Length, pattern. */
@@ -272,9 +269,9 @@
#define _L 0x04 /* Lower case letter. */
#define _C 0x08 /* Control. */
-#define ISCTRL(c) ((cinfo[(int)(c)]&_C)!=0)
-#define ISUPPER(c) ((cinfo[(int)(c)]&_U)!=0)
-#define ISLOWER(c) ((cinfo[(int)(c)]&_L)!=0)
+#define ISCTRL(c) ((cinfo[(c)]&_C)!=0)
+#define ISUPPER(c) ((cinfo[(c)]&_U)!=0)
+#define ISLOWER(c) ((cinfo[(c)]&_L)!=0)
#define TOUPPER(c) ((c)-0x20)
#define TOLOWER(c) ((c)+0x20)
@@ -298,9 +295,6 @@
#define R_BYTE_FMT(wp) (wp -> w_fmt_ptr -> r_byte_fmt)
#define R_POSITIONS(wp) (wp -> w_fmt_ptr -> r_positions)
-struct vid;
-
-
/*
* The symbol table links editing functions
* to names. Entries in the key map point at the symbol
@@ -563,7 +557,13 @@
extern int rowb;
extern char file_off_bad;
+/*
+ * Standard I/O.
+ */
+extern char *malloc ();
+extern char *strcpy ();
+extern char *strcat ();
+
#ifndef NOPROTO
#include "prototyp.h"
#endif /* NOPROTO */
-#endif
diff -Nru beav-1.40/display.c beav-1.40/display.c
--- beav-1.40/display.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/display.c 1994-11-30 18:43:35.000000000 +0100
@@ -9,14 +9,11 @@
* both off, the terminal is a VT52.
*/
-#include <stdlib.h>
-#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include "def.h"
D64 get_double ();
-F32 get_float ();
D32 get_long ();
D16 get_int ();
void writ_echo ();
@@ -26,6 +23,7 @@
uint get_currow ();
uint get_curcol ();
#ifndef NOPROTO
+struct vid;
void ucopy (struct vid *vvp, struct vid *pvp);
void uline (int row, struct vid *vvp, struct vid *pvp);
#else
@@ -42,7 +40,6 @@
extern char MSG_11lo[];
extern char MSG_11ld[];
extern char MSG_116e[];
-extern char MSG_106e[];
extern char MSG_03o[];
extern char MSG_06o[];
extern char MSG_011lo[];
@@ -70,7 +67,6 @@
extern char MSG_siz_8[];
extern char MSG_siz_16[];
extern char MSG_siz_32[];
-extern char MSG_siz_64[];
extern char MSG_siz_null[];
extern char MSG_int_shift[];
extern char MSG_mot_shift[];
@@ -174,8 +170,6 @@
exit (1); /* can't continue */
}
- memset(video, 0, sizeof (VIDEO) * 2 * nrow);
-
vp = &video[0];
for (i = 0; i < nrow; ++i)
{
@@ -487,21 +481,6 @@
break;
#if FLOAT_DISP
case FLOAT:
- switch (size)
- {
- case DWORDS:
- {
- k = 0;
- for (i = 0; i < len; i += sizeof (F32))
- {
- F32 temp_d;
-
- temp_d = get_float (&bin_buf[i]);
- sprintf (&txt_buf[posn[k++]], MSG_106e, temp_d);
- }
- }
- break;
- case DOUBLES:
{
/*
* The Intel floating point representation is;
@@ -523,8 +502,6 @@
}
}
break;
- }
- break;
#endif
case HEX:
switch (size)
@@ -696,45 +673,11 @@
}
#if FLOAT_DISP
-
/*
-* Get a float from the buffer.
+* Get an double from the buffer.
* Perform the Intel byte shuffle if necessary
*/
-F32
-get_float (w_buf)
- uchar *w_buf;
-
-{
- uchar temp_float[sizeof (F32)];
- F32 *fp;
- int i, siz;
-
- fp = (F32 *) temp_float;
- siz = sizeof (F32);
-
- if (curwp->w_intel_mode)
- {
- for (i = 0; i <= siz-1; i++)
- {
- temp_float[i] = 0xff & w_buf[i];
- }
- }
- else
- {
- for (i = 0; i <= siz-1; i++)
- {
- temp_float[(siz - 1) - i] = 0xff & w_buf[i];
- }
- }
- return (*fp);
-}
-
-/*
-* Get a double from the buffer.
-* Perform the Intel byte shuffle if necessary
-*/
D64
get_double (w_buf)
uchar *w_buf;
@@ -755,7 +698,7 @@
}
else
{
- for (i = 0; i <= siz-1; i++)
+ for (i = 0; i <= 7; i++)
{
temp_doub[(siz - 1) - i] = 0xff & w_buf[i];
}
@@ -1303,7 +1246,6 @@
if ((mode == HEX) ||
(mode == DECIMAL) ||
- (mode == FLOAT) ||
(mode == OCTAL))
{
switch (size)
@@ -1317,9 +1259,6 @@
case DWORDS:
sprintf (posn_buf, MSG_siz_32);
break;
- case DOUBLES:
- sprintf (posn_buf, MSG_siz_64);
- break;
#if RUNCHK
default:
writ_echo (ERR_disp_6);
diff -Nru beav-1.40/english.c beav-1.40/english.c
--- beav-1.40/english.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/english.c 1994-11-30 18:43:35.000000000 +0100
@@ -258,7 +258,6 @@
char MSG_unit_size1[] = "display-bytes";
char MSG_unit_size2[] = "display-words";
char MSG_unit_size4[] = "display-double-words";
-char MSG_unit_size8[] = "display-quad-words";
char MSG_reposition_window[] = "window-reposition";
char MSG_set_mark[] = "mark-set";
char MSG_goto_eob[] = "move-to-end";
diff -Nru beav-1.40/extend.c beav-1.40/extend.c
--- beav-1.40/extend.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/extend.c 1994-11-30 18:43:35.000000000 +0100
@@ -1,7 +1,6 @@
/*
* Extended (M-X) commands.
*/
-#include <string.h>
#include "def.h"
extern char MSG_not_now[];
@@ -26,10 +25,10 @@
char *flook ();
-//static char *bindnm =
-//{
-// 0
-//}; /* file name for customized key bindings */
+static char *bindnm =
+{
+ 0
+}; /* file name for customized key bindings */
#endif
/*
@@ -241,7 +240,7 @@
if ((sp->s_modify & SBOUND) == 0) /* comment out default binding
*/
buf[0] = '#';
cp2 = sp->s_name; /* Add function name. */
- while ((*cp1++ = *cp2++))
+ while (*cp1++ = *cp2++)
;
cp1--;
while (cp1 < &buf[HKEY]) /* Goto column 32. */
@@ -270,7 +269,7 @@
*cp1++ = ' ';
buf[0] = '#';
cp2 = sp->s_name; /* Add function name. */
- while ((*cp1++ = *cp2++))
+ while (*cp1++ = *cp2++)
;
cp1--;
while (cp1 < &buf[HENDCOL])
@@ -374,7 +373,7 @@
if (fname == NULL)
return;
- if ((bindf = fopen (fname, "r")))
+ if (bindf = fopen (fname, "r"))
{
char buffr[80];
char *buffp;
@@ -410,7 +409,7 @@
}
else
{
- if ((sp = symlookup (funcname)))
+ if (sp = symlookup (funcname))
{
if (binding[keyval] != NULL) /* Unbind old, and */
--binding[keyval]->s_nkey;
@@ -440,7 +439,7 @@
register char *home; /* path to home directory */
register char *path; /* environmental PATH variable */
register char *sp; /* pointer into path spec */
- //register int i; /* index */
+ register int i; /* index */
static char fspec[NFILEN * 2]; /* full path spec to search */
char *getenv ();
FILE *bindf;
@@ -457,7 +456,7 @@
strcat (fspec, fname);
/* and try it out */
- if ((bindf = fopen (fspec, "r")))
+ if (bindf = fopen (fspec, "r"))
{
fclose (bindf);
return (fspec);
@@ -466,7 +465,7 @@
}
/* always try the current directory first */
- if ((bindf = fopen (fname, "r")))
+ if (bindf = fopen (fname, "r"))
{
fclose (bindf);
return (fname);
@@ -491,7 +490,7 @@
strcat (fspec, fname);
/* and try it out */
- if ((bindf = fopen (fspec, "r")))
+ if (bindf = fopen (fspec, "r"))
{
fclose (bindf);
return (fspec);
diff -Nru beav-1.40/file.c beav-1.40/file.c
--- beav-1.40/file.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/file.c 1994-11-30 18:43:35.000000000 +0100
@@ -1,7 +1,6 @@
/*
* File commands.
*/
-#include <string.h>
#include <sys/types.h>
#include <fcntl.h>
#include <sys/stat.h>
@@ -330,10 +329,7 @@
bp->b_flag &= ~BFCHG; /* No change. */
#endif
if ((start == 0L) && (end == MAXPOS))
- {
- strncpy (bp->b_fname, fname, NFILEN);
- bp->b_fname[NFILEN - 1] = '\0';
- }
+ strcpy (bp->b_fname, fname);
else
strcpy (bp->b_fname, MSG_null);
bp->b_file_size = 0;
@@ -341,7 +337,7 @@
if ((s = ffropen (fname)) == FIOERR || s == FIOFNF) /* jam */
goto out;
bp->b_file_size = file_len (); /* get the file lenth */
- snprintf (buf, NCOL, MSG_reading, fname); /* jam */
+ sprintf (buf, MSG_reading, fname); /* jam */
writ_echo (buf);
temp = ffseek (start);
if (temp != start)
diff -Nru beav-1.40/fileio.c beav-1.40/fileio.c
--- beav-1.40/fileio.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/fileio.c 1994-11-30 18:43:35.000000000 +0100
@@ -3,7 +3,6 @@
*/
#ifdef UNIX
-#include <unistd.h>
#include <sys/types.h>
#include <fcntl.h>
#include <sys/stat.h>
@@ -250,9 +249,9 @@
fbackupfile (fname)
char *fname;
{
- unsigned char backname[NFILEN];
- unsigned char *source, *backup;
- unsigned char buf[NCOL];
+ char backname[NFILEN];
+ char *source, *backup;
+ char buf[NCOL];
source = fname;
backup = backname;
diff -Nru beav-1.40/format.c beav-1.40/format.c
--- beav-1.40/format.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/format.c 1994-11-30 18:43:35.000000000 +0100
@@ -171,29 +171,10 @@
};
ROW_FMT decimal_s_32_fmt =
{
- DECIMAL, DWORDS, 4, 16, 4, 4, 12, TRUE, decimal_l_str, decimal_l_str,
decimal_str,
+ DECIMAL, DWORDS, 4, 16, 4, 4, 10, TRUE, decimal_l_str, decimal_l_str,
decimal_str,
decimal_s_32_posn, 0};
#if FLOAT_DISP
-uchar float_32_posn[] =
-{
- FC, FC + 16, FC + 32, FC + 48
-};
-
-ROW_FMT float_32_fmt =
-{
- FLOAT, DWORDS, 4, 16, 4, 4, 12, TRUE, float_str, decimal_l_str,
decimal_str,
- float_32_posn, 0};
-
-uchar float_s_32_posn[] =
-{
- FS, FS + 17
-};
-ROW_FMT float_s_32_fmt =
-{
- FLOAT, DWORDS, 4, 16, 4, 4, 14, TRUE, float_str, decimal_l_str,
decimal_str,
- float_s_32_posn, 0};
-
uchar float_64_posn[] =
{
FC, FC + 32
@@ -357,8 +338,6 @@
decimal_32_fmt.r_srch_fmt = &decimal_s_32_fmt;
decimal_s_32_fmt.r_srch_fmt = &decimal_32_fmt;
#if FLOAT_DISP
- float_32_fmt.r_srch_fmt = &float_s_32_fmt;
- float_s_32_fmt.r_srch_fmt = &float_32_fmt;
float_64_fmt.r_srch_fmt = &float_s_64_fmt;
float_s_64_fmt.r_srch_fmt = &float_64_fmt;
#endif
diff -Nru beav-1.40/kbd.c beav-1.40/kbd.c
--- beav-1.40/kbd.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/kbd.c 1994-11-30 18:43:35.000000000 +0100
@@ -1,7 +1,6 @@
/* KBD.C
* Terminal independent keyboard handling.
*/
-#include <string.h>
#include "def.h"
char *keystrings ();
diff -Nru beav-1.40/language.c beav-1.40/language.c
--- beav-1.40/language.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/language.c 1994-11-30 18:43:35.000000000 +0100
@@ -258,7 +258,6 @@
char MSG_unit_size1[] = "display-bytes";
char MSG_unit_size2[] = "display-words";
char MSG_unit_size4[] = "display-double-words";
-char MSG_unit_size8[] = "display-quad-words";
char MSG_reposition_window[] = "window-reposition";
char MSG_set_mark[] = "mark-set";
char MSG_goto_eob[] = "move-to-end";
diff -Nru beav-1.40/line.c beav-1.40/line.c
--- beav-1.40/line.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/line.c 1994-11-30 18:43:35.000000000 +0100
@@ -18,7 +18,6 @@
* nonsense.
*/
-#include <stdlib.h>
#include "def.h"
void l_fix_up ();
diff -Nru beav-1.40/main.c beav-1.40/main.c
--- beav-1.40/main.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/main.c 1994-11-30 18:43:35.000000000 +0100
@@ -35,7 +35,6 @@
*
* Mainline, macro commands.
*/
-#include <stdlib.h>
#include "def.h"
bool execute ();
@@ -99,7 +98,7 @@
int flush_num = 500;
int auto_update = 0;
-int
+void
main (argc, argv)
char *argv[];
int argc;
@@ -110,7 +109,7 @@
register int n;
register int mflag;
char bname[NBUFN];
- //char initfile[NFILEN];
+ char initfile[NFILEN];
#if MSDOS
is_wang (); /* Check for computer type */
@@ -144,7 +143,7 @@
check_extend (NULL); /* check for extended keys */
#endif
- if (argc <= 1)
+ if (argc == 1)
{
edinit (bname);
eerase ();
@@ -183,8 +182,6 @@
save_buf_init (); /* initialize save buffer */
lastflag = 0; /* Fake last flags. */
- writ_echo ("Welcome to BEAV. Esc-? for help, Ctrl-C to quit.");
-
loop:
update ();
c = getkey ();
@@ -392,7 +389,6 @@
{
vttidy ();
- printf("\n");
exit (GOOD);
}
diff -Nru beav-1.40/Makefile beav-1.40/Makefile
--- beav-1.40/Makefile 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/Makefile 1970-01-01 01:00:00.000000000 +0100
@@ -1,25 +0,0 @@
-# This is the makefile for BSD UNIX
-#CFLAGS= -g -DUNIX
-CFLAGS= -g -DUNIX -Wall
-CC=gcc
-
-OFILES= basic.o ebcdic.o fileio.o region.o text.o wangpc.o \
- buffer.o echo.o language.o main.o search.o tty.o window.o \
- cinfo.o extend.o kbd.o spawn.o ttyio.o termio.o tcap.o word.o \
- display.o file.o line.o random.o symbol.o ttykbd.o format.o
-
-
-CFILES= basic.c ebcdic.c fileio.c region.c text.c wangpc.c \
- buffer.c echo.c language.c main.c search.c tty.c window.c \
- cinfo.c extend.c kbd.c spawn.c ttyio.c termio.c tcap.c word.c \
- display.c file.c line.c random.c symbol.c ttykbd.c
-
-HFILES= def.h prototyp.h
-
-beav: $(OFILES)
- $(CC) $(CFLAGS) $(OFILES) -lncurses -o beav
-
-clean:
- rm -f *.o beav
-
-(OFILES): $(HFILES)
diff -Nru beav-1.40/prototyp.h beav-1.40/prototyp.h
--- beav-1.40/prototyp.h 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/prototyp.h 1994-11-30 18:43:35.000000000 +0100
@@ -1,8 +1,3 @@
-#ifndef PROTOTYP_DEF
-#define PROTOTYP_DEF
-
-#include "def.h"
-
extern char backchar (int f, int n, int k);
extern char forwchar (int f, int n, int k);
extern char move_ptr (struct WINDOW *wp, long len, char dot, char fix, char
rel);
@@ -121,7 +116,7 @@
extern void lreplace (int n, char c);
extern char lrepl_str (int plen, struct LINE *rstr, struct LINE *mstr);
extern void l_fix_up (struct LINE *line);
-extern int main (int argc, char **argv);
+extern void main (int argc, char **argv);
extern char execute (int c, int f, int n);
extern void edinit (char *bname);
extern char flush_all (void);
@@ -156,7 +151,6 @@
extern char dispsize1 (void);
extern char dispsize2 (void);
extern char dispsize4 (void);
-extern char dispsize8 (void);
extern char dispswapbyte (int f, int n, int k);
extern char yank (int f, int n, int k);
extern char linkwind (void);
@@ -209,9 +203,7 @@
extern void ttykeymapinit (void);
extern char *keystrings (int key);
extern void is_wang (void);
-#ifdef MSDOS
extern int getsysconfig (union REGS *outregs, struct SREGS *segregs);
-#endif
extern char getscreenstate (void);
extern char reposition (void);
extern char nextwind (void);
@@ -230,5 +222,3 @@
extern char forwunit (int f, int n, int k);
extern char delfunit (int f, int n, int k);
extern char delbunit (int f, int n, int k);
-
-#endif
diff -Nru beav-1.40/random.c beav-1.40/random.c
--- beav-1.40/random.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/random.c 1994-11-30 18:43:35.000000000 +0100
@@ -6,13 +6,11 @@
* that they are all command processors.
*/
-#include <string.h>
#include "def.h"
char backdel ();
bool fill_out ();
void bad_key ();
-F32 get_float ();
D64 get_double ();
@@ -26,7 +24,6 @@
extern char MSG_05u[];
extern char MSG_010lu[];
extern char MSG_116e[];
-extern char MSG_106e[];
extern char MSG_lnk[];
extern char MSG_unlink[];
extern char MSG_link[];
@@ -62,7 +59,6 @@
extern ROW_FMT decimal_16_fmt;
extern ROW_FMT decimal_32_fmt;
#if FLOAT_DISP
-extern ROW_FMT float_32_fmt;
extern ROW_FMT float_64_fmt;
#endif
extern ROW_FMT hex_8_fmt;
@@ -142,7 +138,7 @@
register LINE *dotp;
register short doto;
- unsigned char b_per_u, f_buf[4], s_buf[4], i;
+ char b_per_u, f_buf[4], s_buf[4], i;
dotp = curwp->w_dotp;
doto = curwp->w_doto;
@@ -158,7 +154,7 @@
/* pick up first unit byte by byte */
for (i = 0; i < b_per_u; i++)
{
- f_buf[(int)i] = DOT_CHAR (curwp);
+ f_buf[i] = DOT_CHAR (curwp);
move_ptr (curwp, 1L, TRUE, FALSE, TRUE);
}
/* move to the end of the second unit */
@@ -172,14 +168,14 @@
/* pick up second unit (reverse order) and deposit second unit */
for (i = 0; i < b_per_u; i++)
{
- s_buf[(int)i] = DOT_CHAR (curwp);
- DOT_CHAR (curwp) = f_buf[(int)b_per_u - 1 - i];
+ s_buf[i] = DOT_CHAR (curwp);
+ DOT_CHAR (curwp) = f_buf[b_per_u - 1 - i];
move_ptr (curwp, -1L, TRUE, FALSE, TRUE);
}
/* deposit first unit */
for (i = 0; i < b_per_u; i++)
{
- DOT_CHAR (curwp) = s_buf[(int)i];
+ DOT_CHAR (curwp) = s_buf[i];
move_ptr (curwp, -1L, TRUE, FALSE, TRUE);
}
curwp->w_dotp = dotp;
@@ -571,7 +567,7 @@
/* get a text representation of the float */
sprintf (text_buf, MSG_116e, d_val);
/* insert the character that was typed */
- text_buf[(int)u_offs] = c;
+ text_buf[u_offs] = c;
/* see if scanf get get back a good number */
/************************************************
@@ -605,7 +601,7 @@
ptr = (D8 *) & d_val;
move_ptr (curwp, 1L, TRUE, FALSE, TRUE); /* step forward
one byte */
- DOT_CHAR (curwp) = ptr[(int)i] & 0xff;
+ DOT_CHAR (curwp) = ptr[i] & 0xff;
}
/* restore dot position */
@@ -708,15 +704,15 @@
if ((chr < '0') || (chr > '9'))
return (FALSE);
- char_buf[(int)pos] = chr; /* insert typed char */
+ char_buf[pos] = chr; /* insert typed char */
/* check if number is too big */
- for (i = 0; max_str[(int)i] != 0; i++)
+ for (i = 0; max_str[i] != 0; i++)
{
- if (char_buf[(int)i] < max_str[(int)i])
+ if (char_buf[i] < max_str[i])
break; /* if char is smaller then must be ok */
- if (char_buf[(int)i] > max_str[(int)i])
+ if (char_buf[i] > max_str[i])
return (FALSE); /* val is too large; ERROR */
}
return (TRUE);
@@ -771,15 +767,7 @@
bool
floatmode ()
{
- switch (curwp->w_fmt_ptr->r_size)
- {
- case DWORDS:
- curwp->w_fmt_ptr = &float_32_fmt;
- break;
- case DOUBLES:
curwp->w_fmt_ptr = &float_64_fmt;
- break;
- }
set_mode_vars ();
return (TRUE);
}
@@ -1160,43 +1148,6 @@
curwp->w_fmt_ptr = &binary_32_fmt;
break;
- case FLOAT:
- curwp->w_fmt_ptr = &float_32_fmt;
- break;
-
- default:
- return (TRUE);
- break;
- }
-
- /* if we are in the middle of a search then use the proper format struc */
- if (read_pat_mode)
- curwp->w_fmt_ptr = curwp->w_fmt_ptr->r_srch_fmt;
-
- move_ptr (curwp, 0L, TRUE, TRUE, TRUE);
- wind_on_dot (curwp);
- curwp->w_flag = WFHARD;
- update ();
- return (TRUE);
-}
-
-/*
-* Change the size of the display unit to double.
-* Adjust byte shift to the allowable range.
-* Normally bound to "META-8".
-*/
-bool
-dispsize8 ()
-{
- curwp->w_disp_shift = 0; /* shift to 0 when changing size */
- curwp->w_unit_offset = 0; /* go to end of unit */
-
- switch ((uchar) (R_TYPE (curwp)))
- {
- case FLOAT:
- curwp->w_fmt_ptr = &float_64_fmt;
- break;
-
default:
return (TRUE);
break;
diff -Nru beav-1.40/region.c beav-1.40/region.c
--- beav-1.40/region.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/region.c 1994-11-30 18:43:35.000000000 +0100
@@ -6,7 +6,6 @@
* commands. Some functions are just for
* internal use.
*/
-#include <string.h>
#include "def.h"
bool getregion ();
diff -Nru beav-1.40/search.c beav-1.40/search.c
--- beav-1.40/search.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/search.c 1994-11-30 18:43:35.000000000 +0100
@@ -4,7 +4,6 @@
* search commands (both plain and incremental searches
* are supported) and the query-replace command.
*/
-#include <string.h>
#include "def.h"
char replaceit ();
@@ -240,7 +239,7 @@
srch_mode = FALSE;
rplc_mode = TRUE;
cur_prompt = MSG_sch_str;
- if ((s = readpattern ()))
+ if (s = readpattern ())
{
replaceit ();
}
diff -Nru beav-1.40/symbol.c beav-1.40/symbol.c
--- beav-1.40/symbol.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/symbol.c 1994-11-30 18:43:35.000000000 +0100
@@ -4,8 +4,6 @@
* The terminal specific parts of building the
* keymap has been moved to a better place.
*/
-#include <stdlib.h>
-#include <string.h>
#include "def.h"
void keyadd ();
@@ -80,7 +78,6 @@
extern char MSG_unit_size1[];
extern char MSG_unit_size2[];
extern char MSG_unit_size4[];
-extern char MSG_unit_size8[];
extern char MSG_reposition_window[];
extern char MSG_set_mark[];
extern char MSG_goto_eob[];
@@ -203,7 +200,6 @@
extern char dispsize1 (); /* display in BYTE format */
extern char dispsize2 (); /* display in WORD format */
extern char dispsize4 (); /* display in DWORD format*/
-extern char dispsize8 (); /* display in DOUBLE format*/
extern char dispswapbyte (); /* Display swaped bytes pvr */
extern char yank (); /* Yank back from killbuffer. */
extern char linkwind (); /* Link all windows on one buffer. */
@@ -279,106 +275,105 @@
*/
KEY key[] =
{
- { KCTRL | 'A', dispshift, MSG_byte_shift, 0 },
- { KCTRL | 'B', backchar, MSG_back_char, SSRCH | SRPLC },
- { KCTRL | 'C', quit, MSG_quit, 0 }, /* pvr */
- { KCTRL | 'D', forwdel, MSG_forw_del_char, SMOD | SSIZE | SSRCH | SRPLC },
- { KCTRL | 'E', dispswapbyte, MSG_toggle_swap, SSRCH | SRPLC }, /* pvr
*/
- { KCTRL | 'F', forwchar, MSG_forw_char, SSRCH | SRPLC },
- { KCTRL | 'G', ctrlg, MSG_abort, SSRCH | SRPLC },
- { KCTRL | 'I', selfinsert, MSG_ins_self, SMOD | SSRCH | SRPLC },
- { KCTRL | 'H', backdel, MSG_back_del_char, SMOD | SSIZE | SSRCH | SRPLC },
- { KCTRL | 'L', refresh, MSG_refresh, SSRCH | SRPLC },
- { KCTRL | 'N', forwline, MSG_forw_line, SSRCH | SRPLC },
- { KCTRL | 'P', backline, MSG_back_line, SSRCH | SRPLC },
- { KCTRL | 'Q', quote, MSG_quote, 0 },
- { KCTRL | 'R', recall, MSG_recall, SSRCH | SRPLC },
- { KCTRL | 'T', twiddle, MSG_twiddle, SMOD | SSRCH | SRPLC },
- { KCTRL | 'V', forwpage, MSG_forw_page, SRPLC },
- { KCTRL | 'W', killregion, MSG_kill_region, SMOD | SSIZE },
- { KCTRL | 'Y', yank, MSG_yank, SMOD | SSIZE },
- { KCTRL | 'Z', mvdnwind, MSG_down_window, 0 }, /* fitz */
- { KCTLX | KCTRL | 'A', insert_toggle, MSG_ins_toggle, SSRCH | SRPLC },
- { KCTLX | KCTRL | 'B', listbuffers, MSG_display_buffers, 0 },
- { KCTLX | KCTRL | 'C', quit, MSG_quit, 0 },
- { KCTLX | KCTRL | 'E', flushnquit, MSG_exit_flush_all, 0 }, /* fitz
*/
- { KCTLX | KCTRL | 'F', filename, MSG_set_file_name, SMOD }, /* jam
*/
- { KCTLX | KCTRL | 'I', fileinsert, MSG_file_insert, SMOD | SSIZE },
- { KCTLX | KCTRL | 'L', bufsizlock, MSG_buf_size_lock, 0 },
- { KCTLX | KCTRL | 'M', flush_all, MSG_flush_all, 0 },
- { KCTLX | KCTRL | 'N', mvdnwind, MSG_down_window, 0 },
- { KCTLX | KCTRL | 'P', mvupwind, MSG_up_window, 0 },
- { KCTLX | KCTRL | 'R', fileread, MSG_file_read, 0 },
- { KCTLX | KCTRL | 'S', filesave, MSG_file_save, 0 },
- { KCTLX | KCTRL | 'V', filevisit, MSG_file_visit, 0 },
- { KCTLX | KCTRL | 'W', filewrite, MSG_file_write, 0 },
- { KCTLX | KCTRL | 'X', swapmark, MSG_swap_dot_and_mark, 0 },
- { KCTLX | KCTRL | 'Z', shrinkwind, MSG_shrink_window, 0 },
- { KCTLX | '=', showcpos, MSG_display_position, 0 },
- { KCTLX | '(', ctlxlp, MSG_start_macro, 0 },
- { KCTLX | ')', ctlxrp, MSG_end_macro, 0 },
- { KCTLX | '?', help, MSG_help, 0 },
- { KCTLX | '0', delwind, MSG_del_window, 0 },
- { KCTLX | '1', onlywind, MSG_only_window, 0 },
- { KCTLX | '2', splitwind, MSG_split_window, 0 },
- { KCTLX | 'B', usebuffer, MSG_use_buffer, 0 },
- { KCTLX | 'C', spawncli, MSG_spawn_cli, 0 }, /* fitz */
- { KCTLX | 'E', ctlxe, MSG_execute_macro, 0 },
- { KCTLX | 'G', gotoline, MSG_goto_line, 0 },
- { KCTLX | 'I', insertunit, MSG_ins_unit, SMOD | SSIZE | SSRCH | SRPLC },
- { KCTLX | 'K', killbuffer, MSG_kill_buffer, 0 },
- { KCTLX | 'L', load_extend, MSG_load_bindings, 0 },
- { KCTLX | 'N', nextwind, MSG_forw_window, 0 },
- { KCTLX | 'P', prevwind, MSG_back_window, 0 },
- { KCTLX | 'V', viewfile, MSG_view_file, 0 }, /* jam */
- { KCTLX | 'Z', enlargewind, MSG_enlarge_window, 0 },
- { KMETA | KCTRL | 'A', asciimode, MSG_ascii_mode, SSRCH | SRPLC }, /* pvr
*/
- { KMETA | KCTRL | 'B', binarymode, MSG_binary_mode, SSRCH | SRPLC },
/* pvr */
- { KMETA | KCTRL | 'D', decimalmode, MSG_decimal_mode, SSRCH | SRPLC },
/* pvr */
- { KMETA | KCTRL | 'E', ebcdicmode, MSG_ebcdic_mode, SSRCH | SRPLC },
/* pvr */
+ KCTRL | 'A', dispshift, MSG_byte_shift, 0,
+ KCTRL | 'B', backchar, MSG_back_char, SSRCH | SRPLC,
+ KCTRL | 'C', quit, MSG_quit, 0, /* pvr */
+ KCTRL | 'D', forwdel, MSG_forw_del_char, SMOD | SSIZE | SSRCH | SRPLC,
+ KCTRL | 'E', dispswapbyte, MSG_toggle_swap, SSRCH | SRPLC, /* pvr */
+ KCTRL | 'F', forwchar, MSG_forw_char, SSRCH | SRPLC,
+ KCTRL | 'G', ctrlg, MSG_abort, SSRCH | SRPLC,
+ KCTRL | 'I', selfinsert, MSG_ins_self, SMOD | SSRCH | SRPLC,
+ KCTRL | 'H', backdel, MSG_back_del_char, SMOD | SSIZE | SSRCH | SRPLC,
+ KCTRL | 'L', refresh, MSG_refresh, SSRCH | SRPLC,
+ KCTRL | 'N', forwline, MSG_forw_line, SSRCH | SRPLC,
+ KCTRL | 'P', backline, MSG_back_line, SSRCH | SRPLC,
+ KCTRL | 'Q', quote, MSG_quote, 0,
+ KCTRL | 'R', recall, MSG_recall, SSRCH | SRPLC,
+ KCTRL | 'T', twiddle, MSG_twiddle, SMOD | SSRCH | SRPLC,
+ KCTRL | 'V', forwpage, MSG_forw_page, SRPLC,
+ KCTRL | 'W', killregion, MSG_kill_region, SMOD | SSIZE,
+ KCTRL | 'Y', yank, MSG_yank, SMOD | SSIZE,
+ KCTRL | 'Z', mvdnwind, MSG_down_window, 0, /* fitz */
+ KCTLX | KCTRL | 'A', insert_toggle, MSG_ins_toggle, SSRCH | SRPLC,
+ KCTLX | KCTRL | 'B', listbuffers, MSG_display_buffers, 0,
+ KCTLX | KCTRL | 'C', quit, MSG_quit, 0,
+ KCTLX | KCTRL | 'E', flushnquit, MSG_exit_flush_all, 0, /* fitz */
+ KCTLX | KCTRL | 'F', filename, MSG_set_file_name, SMOD, /* jam */
+ KCTLX | KCTRL | 'I', fileinsert, MSG_file_insert, SMOD | SSIZE,
+ KCTLX | KCTRL | 'L', bufsizlock, MSG_buf_size_lock, 0,
+ KCTLX | KCTRL | 'M', flush_all, MSG_flush_all, 0,
+ KCTLX | KCTRL | 'N', mvdnwind, MSG_down_window, 0,
+ KCTLX | KCTRL | 'P', mvupwind, MSG_up_window, 0,
+ KCTLX | KCTRL | 'R', fileread, MSG_file_read, 0,
+ KCTLX | KCTRL | 'S', filesave, MSG_file_save, 0,
+ KCTLX | KCTRL | 'V', filevisit, MSG_file_visit, 0,
+ KCTLX | KCTRL | 'W', filewrite, MSG_file_write, 0,
+ KCTLX | KCTRL | 'X', swapmark, MSG_swap_dot_and_mark, 0,
+ KCTLX | KCTRL | 'Z', shrinkwind, MSG_shrink_window, 0,
+ KCTLX | '=', showcpos, MSG_display_position, 0,
+ KCTLX | '(', ctlxlp, MSG_start_macro, 0,
+ KCTLX | ')', ctlxrp, MSG_end_macro, 0,
+ KCTLX | '?', help, MSG_help, 0,
+ KCTLX | '0', delwind, MSG_del_window, 0,
+ KCTLX | '1', onlywind, MSG_only_window, 0,
+ KCTLX | '2', splitwind, MSG_split_window, 0,
+ KCTLX | 'B', usebuffer, MSG_use_buffer, 0,
+ KCTLX | 'C', spawncli, MSG_spawn_cli, 0, /* fitz */
+ KCTLX | 'E', ctlxe, MSG_execute_macro, 0,
+ KCTLX | 'G', gotoline, MSG_goto_line, 0,
+ KCTLX | 'I', insertunit, MSG_ins_unit, SMOD | SSIZE | SSRCH | SRPLC,
+ KCTLX | 'K', killbuffer, MSG_kill_buffer, 0,
+ KCTLX | 'L', load_extend, MSG_load_bindings, 0,
+ KCTLX | 'N', nextwind, MSG_forw_window, 0,
+ KCTLX | 'P', prevwind, MSG_back_window, 0,
+ KCTLX | 'V', viewfile, MSG_view_file, 0, /* jam */
+ KCTLX | 'Z', enlargewind, MSG_enlarge_window, 0,
+ KMETA | KCTRL | 'A', asciimode, MSG_ascii_mode, SSRCH | SRPLC, /* pvr
*/
+ KMETA | KCTRL | 'B', binarymode, MSG_binary_mode, SSRCH | SRPLC, /* pvr
*/
+ KMETA | KCTRL | 'D', decimalmode, MSG_decimal_mode, SSRCH | SRPLC, /* pvr
*/
+ KMETA | KCTRL | 'E', ebcdicmode, MSG_ebcdic_mode, SSRCH | SRPLC, /* pvr
*/
#if FLOAT_DISP
- { KMETA | KCTRL | 'F', floatmode, MSG_float_mode, SSRCH | SRPLC }, /* pvr
*/
+ KMETA | KCTRL | 'F', floatmode, MSG_float_mode, SSRCH | SRPLC, /* pvr
*/
#endif
- { KMETA | KCTRL | 'H', hexmode, MSG_hex_mode, SSRCH | SRPLC }, /* pvr
*/
- { KMETA | KCTRL | 'K', delbunit, MSG_back_del_unit, SMOD | SSIZE | SSRCH |
SRPLC },
- { KMETA | KCTRL | 'N', buffername, MSG_buffer_name, 0 },
- { KMETA | KCTRL | 'O', octalmode, MSG_octal_mode, SSRCH | SRPLC }, /* pvr
*/
- { KMETA | KCTRL | 'P', n_way_combine, MSG_n_combine, SSIZE | SMOD },
/* pvr */
- { KMETA | KCTRL | 'R', screen_rows, MSG_scr_row, 0 }, /* pvr */
- { KMETA | KCTRL | 'S', n_way_split, MSG_n_split, 0 }, /* pvr */
- { KMETA | KCTRL | 'V', showversion, MSG_display_version, 0 },
- { KMETA | KCTRL | 'W', showsavebuf, MSG_show_save_buf, 0 },
- { KMETA | '1', dispsize1, MSG_unit_size1, SSRCH | SRPLC }, /* pvr */
- { KMETA | '2', dispsize2, MSG_unit_size2, SSRCH | SRPLC }, /* pvr */
- { KMETA | '4', dispsize4, MSG_unit_size4, SSRCH | SRPLC }, /* pvr */
- { KMETA | '8', dispsize8, MSG_unit_size8, SSRCH | SRPLC }, /* pvr */
- { KMETA | '!', reposition, MSG_reposition_window, 0 },
- { KMETA | '.', setmark, MSG_set_mark, 0 },
- { KMETA | '>', gotoeob, MSG_goto_eob, SSRCH | SRPLC },
- { KMETA | '<', gotobob, MSG_goto_bob, SSRCH | SRPLC },
- { KMETA | '+', next_buf, MSG_next_buff, 0 },
- { KMETA | '-', prev_buf, MSG_prev_buff, 0 },
- { KMETA | '%', queryrepl, MSG_query_replace, SMOD },
- { KMETA | '?', wallchart, MSG_display_bindings, 0 },
- { KMETA | 'A', autosave, MSG_auto_save, 0 },
- { KMETA | 'B', backunit, MSG_back_unit, SSRCH | SRPLC },
- { KMETA | 'C', compare, MSG_compare, 0 },
- { KMETA | 'D', delfunit, MSG_forw_del_unit, SMOD | SSIZE | SSRCH | SRPLC },
- { KMETA | 'F', forwunit, MSG_forw_unit, SSRCH | SRPLC },
- { KMETA | 'G', use_buffer, MSG_use_buffer_split, 0 },
- { KMETA | 'K', bindtokey, MSG_bind_to_key, 0 },
- { KMETA | 'L', linkwind, MSG_link_windows, 0 },
- { KMETA | 'O', save_region, MSG_save_region, 0 },
- { KMETA | 'P', print, MSG_print, 0 },
- { KMETA | 'R', backsearch, MSG_back_search, 0 },
- { KMETA | 'S', forwsearch, MSG_forw_search, 0 },
- { KMETA | 'T', searchagain, MSG_search_again, 0 },
- { KMETA | 'U', file_visit, MSG_file_visit_split, 0 },
- { KMETA | 'V', backpage, MSG_back_page, SRPLC },
- { KMETA | 'W', copyregion, MSG_copy_region, 0 },
- { KMETA | 'X', extend, MSG_extended_command, 0 },
- { KMETA | 'Y', yank_buffer, MSG_yank_buffer, SMOD | SSIZE },
- { KMETA | 'Z', mvupwind, MSG_up_window, 0 }
+ KMETA | KCTRL | 'H', hexmode, MSG_hex_mode, SSRCH | SRPLC, /* pvr */
+ KMETA | KCTRL | 'K', delbunit, MSG_back_del_unit, SMOD | SSIZE | SSRCH |
SRPLC,
+ KMETA | KCTRL | 'N', buffername, MSG_buffer_name, 0,
+ KMETA | KCTRL | 'O', octalmode, MSG_octal_mode, SSRCH | SRPLC, /* pvr
*/
+ KMETA | KCTRL | 'P', n_way_combine, MSG_n_combine, SSIZE | SMOD, /* pvr
*/
+ KMETA | KCTRL | 'R', screen_rows, MSG_scr_row, 0, /* pvr */
+ KMETA | KCTRL | 'S', n_way_split, MSG_n_split, 0, /* pvr */
+ KMETA | KCTRL | 'V', showversion, MSG_display_version, 0,
+ KMETA | KCTRL | 'W', showsavebuf, MSG_show_save_buf, 0,
+ KMETA | '1', dispsize1, MSG_unit_size1, SSRCH | SRPLC, /* pvr */
+ KMETA | '2', dispsize2, MSG_unit_size2, SSRCH | SRPLC, /* pvr */
+ KMETA | '4', dispsize4, MSG_unit_size4, SSRCH | SRPLC, /* pvr */
+ KMETA | '!', reposition, MSG_reposition_window, 0,
+ KMETA | '.', setmark, MSG_set_mark, 0,
+ KMETA | '>', gotoeob, MSG_goto_eob, SSRCH | SRPLC,
+ KMETA | '<', gotobob, MSG_goto_bob, SSRCH | SRPLC,
+ KMETA | '+', next_buf, MSG_next_buff, 0,
+ KMETA | '-', prev_buf, MSG_prev_buff, 0,
+ KMETA | '%', queryrepl, MSG_query_replace, SMOD,
+ KMETA | '?', wallchart, MSG_display_bindings, 0,
+ KMETA | 'A', autosave, MSG_auto_save, 0,
+ KMETA | 'B', backunit, MSG_back_unit, SSRCH | SRPLC,
+ KMETA | 'C', compare, MSG_compare, 0,
+ KMETA | 'D', delfunit, MSG_forw_del_unit, SMOD | SSIZE | SSRCH | SRPLC,
+ KMETA | 'F', forwunit, MSG_forw_unit, SSRCH | SRPLC,
+ KMETA | 'G', use_buffer, MSG_use_buffer_split, 0,
+ KMETA | 'K', bindtokey, MSG_bind_to_key, 0,
+ KMETA | 'L', linkwind, MSG_link_windows, 0,
+ KMETA | 'O', save_region, MSG_save_region, 0,
+ KMETA | 'P', print, MSG_print, 0,
+ KMETA | 'R', backsearch, MSG_back_search, 0,
+ KMETA | 'S', forwsearch, MSG_forw_search, 0,
+ KMETA | 'T', searchagain, MSG_search_again, 0,
+ KMETA | 'U', file_visit, MSG_file_visit_split, 0,
+ KMETA | 'V', backpage, MSG_back_page, SRPLC,
+ KMETA | 'W', copyregion, MSG_copy_region, 0,
+ KMETA | 'X', extend, MSG_extended_command, 0,
+ KMETA | 'Y', yank_buffer, MSG_yank_buffer, SMOD | SSIZE,
+ KMETA | 'Z', mvupwind, MSG_up_window, 0
};
#define NKEY (sizeof(key) / sizeof(key[0]))
diff -Nru beav-1.40/tcap.c beav-1.40/tcap.c
--- beav-1.40/tcap.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/tcap.c 1994-11-30 18:43:35.000000000 +0100
@@ -2,10 +2,7 @@
for beav
*/
-#include <term.h>
-#include <stdlib.h>
#include "def.h"
-#include "prototyp.h"
#ifdef UNIX
@@ -81,7 +78,7 @@
if ((tgetent (tcbuf, tv_stype)) != 1)
{
- sprintf (err_str, "Unknown terminal type %s!\n", tv_stype);
+ sprintf (err_str, "Unknown terminal type %s!\r", tv_stype);
puts (err_str);
ttclose (); /* fix in 1.13 */
exit (1);
@@ -113,7 +110,7 @@
ttclose (); /* fix in 1.13 */
exit (1);
}
- printf ("nrow %d, ncol %d\r", nrow, ncol);
+ printf ("nrow %d, ncol %d\n", nrow, ncol);
if ((ncol = (short) tgetnum ("co")) == -1)
{
diff -Nru beav-1.40/termio.c beav-1.40/termio.c
--- beav-1.40/termio.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/termio.c 1994-11-30 18:43:35.000000000 +0100
@@ -8,8 +8,6 @@
#ifdef UNIX /* System V */
-#include <unistd.h>
-#include <errno.h>
#include <stdio.h>
#include <signal.h>
#ifdef BSD
@@ -28,11 +26,7 @@
#include <sgtty.h>
#define O_NDELAY O_NONBLOCK
#else
-#ifdef __GLIBC__
-#include <termios.h>
-#else
-#include <termio.h>
-#endif /* __GLIBC__ */
+#include <termio.h>
#endif /* MINIX */
#endif /* OS2 */
#endif /* BSD */
@@ -58,20 +52,14 @@
struct sgttyb ntermio; /* charactoristics to use inside */
struct tchars tchars, tcharsorig;
#else
-#ifdef __GLIBC__
-#include <sys/ioctl.h>
-struct termios otermio;
-struct termios ntermio;
-#else
struct termio otermio; /* original terminal characteristics */
struct termio ntermio; /* charactoristics to use inside */
-#endif /* __GLIBC__ */
#endif /* MINIX */
#endif /* OS2 */
#endif /* BSD */
#ifndef OS2
-//extern errno; /* System error number -- Necessary
when compiling in BSD 1.13 */
+extern errno; /* System error number -- Necessary when
compiling in BSD 1.13 */
#endif
int nrow; /* Terminal size, rows. */
@@ -114,7 +102,7 @@
{
nrow = ttysize.ts_lines;
ncol = ttysize.ts_cols;
-#endif /* ULTRIX */
+#endif
}
else
{
@@ -137,23 +125,15 @@
tchars.t_stopc = tchars.t_eofc = tchars.t_brkc = -1;
ioctl (0, TIOCSETC, &tchars);
#else
-#ifdef __GLIBC__
- tcgetattr(0,&otermio);
-#else
ioctl (0, TCGETA, &otermio);/* save old settings */
- ntermio.c_line = otermio.c_line;
-#endif
ntermio.c_iflag = 0; /* setup new settings */
ntermio.c_oflag = 0;
ntermio.c_cflag = otermio.c_cflag;
ntermio.c_lflag = 0;
+ ntermio.c_line = otermio.c_line;
ntermio.c_cc[VMIN] = 1;
ntermio.c_cc[VTIME] = 0;
-#ifdef __GLIBC__
- tcsetattr(0,TCSANOW,&ntermio);
-#else
ioctl (0, TCSETAW, &ntermio); /* and activate them */
-#endif
#endif /* MINIX */
kbdflgs = fcntl (0, F_GETFL, 0);
kbdpoll = FALSE;
@@ -186,11 +166,7 @@
ioctl (0, TIOCSETC, &tcharsorig) == -1)
printf ("closing ioctl on dev 0 failure, error = %d\n", errno);
#else
-#ifdef __GLIBC__
- if( tcsetattr(0,TCSANOW,&otermio) == -1)
-#else
if (ioctl (0, TCSETAW, &otermio) == -1) /* restore terminal settings */
-#endif
printf ("closing ioctl on dev 0 failure, error = %d\n", errno);
#endif /* MINIX */
if (fcntl (0, F_SETFL, kbdflgs) == -1)
@@ -295,7 +271,7 @@
#endif
#endif
-int ttgetc ()
+ttgetc ()
{
#ifdef OS2
#ifdef __EMX__
@@ -357,7 +333,7 @@
/* typahead(): Check to see if any characters are already in the
keyboard buffer
*/
-int ttkeyready ()
+ttkeyready ()
{
#ifdef OS2
#ifdef __EMX__
diff -Nru beav-1.40/text.c beav-1.40/text.c
--- beav-1.40/text.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/text.c 1994-11-30 18:43:35.000000000 +0100
@@ -24,14 +24,12 @@
char MSG_05u[] = "%05u";
char MSG_010lu[] = "%010lu";
char MSG_116e[] = "%+1.16e";
-char MSG_106e[] = "%+1.6e";
char MSG_02X[] = "%02X";
char MSG_04X[] = "%04X";
char MSG_08lX[] = "%08lX";
char MSG_siz_8[] = " 8 ";
char MSG_siz_16[] = " 16";
char MSG_siz_32[] = " 32";
-char MSG_siz_64[] = " 64";
char MSG_siz_null[] = " ";
char MSG_int_shift[] = " S%X";
char MSG_mot_shift[] = " %X";
diff -Nru beav-1.40/tty.c beav-1.40/tty.c
--- beav-1.40/tty.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/tty.c 1994-11-30 18:43:35.000000000 +0100
@@ -16,9 +16,6 @@
extern void tcapopen ();
extern void tcapclose (); /* DR */
extern void tcapmove ();
-extern void tcapeeop ();
-extern void tcapeeol ();
-extern void tcaprev ();
#ifdef MSDOS
#include "dos.h"
@@ -121,8 +118,8 @@
void
tteeol ()
{
-#ifdef MSDOS
char col, row, i;
+#ifdef MSDOS
union REGS regs;
if (ibm_pc)
diff -Nru beav-1.40/ttykbd.c beav-1.40/ttykbd.c
--- beav-1.40/ttykbd.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/ttykbd.c 1994-11-30 18:43:35.000000000 +0100
@@ -67,7 +67,6 @@
extern char MSG_unit_size1[];
extern char MSG_unit_size2[];
extern char MSG_unit_size4[];
-extern char MSG_unit_size8[];
extern char MSG_reposition_window[];
extern char MSG_set_mark[];
extern char MSG_goto_eob[];
diff -Nru beav-1.40/window.c beav-1.40/window.c
--- beav-1.40/window.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/window.c 1994-11-30 18:43:35.000000000 +0100
@@ -1,7 +1,6 @@
/*
* Window handling.
*/
-#include <stdlib.h>
#include "def.h"
bool mvupwind ();
@@ -289,9 +288,9 @@
register WINDOW *wp;
register int ntru;
register int ntrl;
- //register int ntrd;
- //register WINDOW *wp1;
- //register WINDOW *wp2;
+ register int ntrd;
+ register WINDOW *wp1;
+ register WINDOW *wp2;
char buf[NCOL], buf1[NCOL];
if (curwp->w_ntrows < MIN_WIN_ROWS)
diff -Nru beav-1.40/word.c beav-1.40/word.c
--- beav-1.40/word.c 2022-11-23 20:59:11.000000000 +0100
+++ beav-1.40/word.c 1994-11-30 18:43:35.000000000 +0100
@@ -23,7 +23,7 @@
backunit (f, n, k)
int f, n, k;
{
- char ret = 0;
+ char ret;
if (n < 0)
return (forwunit (f, -n, KRANDOM));