1
0
Fork 0
mirror of https://github.com/vbatts/bvi.git synced 2024-11-22 00:25:41 +00:00

bvi-1.3.1.src.tar.gz

This commit is contained in:
Gerhard Bürgmann 2002-02-18 00:00:00 +00:00 committed by Vincent Batts
parent 0220b756fa
commit 16baacb54f
46 changed files with 5276 additions and 1914 deletions

16
CHANGES
View file

@ -1,3 +1,19 @@
New in release 1.3.1
====================
* autoconf 2.52
* do_back() fix
* replace sys_errlist[errno] with strerror(errno) (Debian #106762)
* deleting bytes in empty file fixed (Debian #121934)
* no ":set mm" for x at eof (Debian #122240)
* cast for alloc_buf() in set.c
* r-bug fix in edit.c and bvi.c
* renamed CTRL to BVICTRL (AIX problem)
* bmore: nicer last line
* bmore: bmbeep() instead of beep()
* bmore: subshell support fixes
New in release 1.3.0 New in release 1.3.0
==================== ====================

View file

@ -6,6 +6,10 @@ Peter J. Holzer <hjp@wsr.ac.at> setlocale
Albert Chin-A-Young <china@thewrittenword.com> Makefile.in Albert Chin-A-Young <china@thewrittenword.com> Makefile.in
Ralf <rks@ffm.tc.iot.dtag.de> AIX fixes Ralf <rks@ffm.tc.iot.dtag.de> AIX fixes
Claudio Nieder <claudio@chili.symmetrix.ch> Makefile Claudio Nieder <claudio@chili.symmetrix.ch> Makefile
Nico Schmidt <Nico.Schmidt@ipk.fhg.de> r-bug fix
Steve Waltner <swaltner@lsil.com> Mac OS X support
Andre Wobst <Andre.Wobst@Physik.Uni-Augsburg.de> AIX fixes
SimoN <simontdd@netzero.net> bmore: subshell support fixes
Packages: Packages:
Christian "naddy" Weisgerber <naddy@mips.rhein-neckar.de> Source RPM Christian "naddy" Weisgerber <naddy@mips.rhein-neckar.de> Source RPM

19
README
View file

@ -1,6 +1,6 @@
BVI - Binary visual editor BVI - Binary visual editor
========================== ==========================
http://bvi.linuxave.net/ http://bvi.sourceforge.net/
This editor for binary files was written by Gerhard Buergmann This editor for binary files was written by Gerhard Buergmann
and is distributed under the GPL (GNU Public License). and is distributed under the GPL (GNU Public License).
@ -9,17 +9,26 @@ and is distributed under the GPL (GNU Public License).
How to compile How to compile
============== ==============
gunzip -c bvi-1.3.0.tar.gz | tar xvf - gunzip -c bvi-1.3.1.tar.gz | tar xvf -
cd bvi-1.3.0 cd bvi-1.3.1
./configure ./configure
make make
make install make install
MAC OS X
========
Looks like the curses implementation in Darwin is really limited.
You should install and use ncurses instead. You can download it from
ftp.gnu.org; install it and then use
./configure --with-ncurses=/usr/local/ncurses-5.2
HTML documentation in subdirectory html/ HTML documentation in subdirectory html/
Subscribe to the bvi mailing for support, updates and other news: Subscribe to the bvi mailing for support, updates and other news:
Send a blank email to bvi-subscribe@eGroups.com. You will receive a Send a blank email to bvi-subscribe@yahoogroups.com. You will receive a
subscription confirmation message. Simply reply this message and your subscription confirmation message. Simply reply this message and your
subscription will be complete. subscription will be complete.
@ -30,6 +39,6 @@ comments, questions, etc. (even flames) to:
Gerhard Buergmann Gerhard Buergmann
Vienna, Austria Vienna, Austria
E-mail: Gerhard.Buergmann@altavista.net E-mail: Gerhard.Buergmann@utanet.at

View file

@ -2,6 +2,7 @@
* *
* 2000-05-10 V 1.3.0 alpha * 2000-05-10 V 1.3.0 alpha
* 2000-07-07 V 1.3.0 final * 2000-07-07 V 1.3.0 final
* 2001-12-07 V 1.3.1
* *
* NOTE: Edit this file with tabstop=4 ! * NOTE: Edit this file with tabstop=4 !
* *
@ -117,10 +118,3 @@ cleareol()
} }
void
beep(void)
{
putchar(7);
}

View file

@ -2,10 +2,11 @@
* *
* 2000-05-31 V 1.3.0 beta * 2000-05-31 V 1.3.0 beta
* 2000-10-12 V 1.3.0 final * 2000-10-12 V 1.3.0 final
* 2002-02-10 V 1.3.1
* *
* NOTE: Edit this file with tabstop=4 ! * NOTE: Edit this file with tabstop=4 !
* *
* Copyright 1996-2000 by Gerhard Buergmann * Copyright 1996-2002 by Gerhard Buergmann
* Gerhard.Buergmann@altavista.net * Gerhard.Buergmann@altavista.net
* *
* This program is free software; you can redistribute it and/or modify it * This program is free software; you can redistribute it and/or modify it
@ -32,10 +33,10 @@
struct termios ostate, nstate; struct termios ostate, nstate;
char *rev_start, *rev_end;/* enter and exit standout mode */ char *rev_start, *rev_end; /* enter and exit standout mode */
char *Home; /* go to home */ char *Home; /* go to home */
char *clear_sc; /* clear screen */ char *clear_sc; /* clear screen */
char *erase_ln; /* erase line */ char *erase_ln; /* erase line */
extern off_t bytepos, screen_home; extern off_t bytepos, screen_home;
extern FILE *curr_file; extern FILE *curr_file;
@ -44,7 +45,9 @@ int got_int;
int fnum, no_intty, no_tty, slow_tty; int fnum, no_intty, no_tty, slow_tty;
int dum_opt, dlines; int dum_opt, dlines;
#ifdef HAVE_NCURSES_H
# undef NEED_PUTC_CHAR
#endif
/* /*
* A real function, for the tputs routine * A real function, for the tputs routine
*/ */
@ -75,11 +78,13 @@ initterm()
struct termios nstate; struct termios nstate;
no_tty = tcgetattr(fileno(stdout), &ostate); no_tty = tcgetattr(fileno(stdout), &ostate);
nstate = ostate; if (!no_tty) {
nstate.c_lflag &= ~(ICANON|ECHO|ECHOE|ECHOK|ECHONL); nstate = ostate;
nstate.c_cc[VMIN] = 1; nstate.c_lflag &= ~(ICANON|ECHO|ECHOE|ECHONL);
nstate.c_cc[VTIME] = 0; nstate.c_cc[VMIN] = 1;
tcsetattr(fileno(stdin), TCSADRAIN, &nstate); nstate.c_cc[VTIME] = 0;
tcsetattr(fileno(stdin), TCSADRAIN, &nstate);
}
if ((term = getenv("TERM")) == 0 || tgetent(buf, term) <= 0) { if ((term = getenv("TERM")) == 0 || tgetent(buf, term) <= 0) {
printf("Dumb terminal\n"); printf("Dumb terminal\n");
@ -98,17 +103,19 @@ initterm()
no_intty = tcgetattr(fileno(stdin), &ostate); no_intty = tcgetattr(fileno(stdin), &ostate);
tcgetattr(fileno(stderr), &ostate); tcgetattr(fileno(stderr), &ostate);
nstate = ostate; nstate = ostate;
if (!no_tty) if (!no_tty) {
ostate.c_lflag &= ~(ICANON|ECHO); ostate.c_lflag &= ~(ICANON|ECHO);
}
} }
void void
set_tty() set_tty()
{ {
ostate.c_lflag &= ~(ICANON|ECHO); if (no_tty) return;
stty(fileno(stderr), &ostate); ostate.c_lflag &= ~(ICANON|ECHO);
stty(fileno(stderr), &ostate);
} }
@ -139,23 +146,23 @@ doshell(cmd)
char *cmd; char *cmd;
{ {
char *getenv(); char *getenv();
char *shell;
char cline[128]; char cline[128];
/* printf("\n");
outstr("\r\n");
flushbuf();
*/
if (cmd == NULL) { if ((shell = getenv("SHELL")) == NULL) shell = "sh";
if ((cmd = getenv("SHELL")) == NULL) else if(strrchr(shell,'/')) shell=(char *)(strrchr(shell,'/')+1);
cmd = "/bin/sh";
sprintf(cline, "%s -i", cmd); if (cmd[0] == '\0') {
sprintf(cline, "%s -i", shell);
cmd = cline;
} else {
sprintf(cline, "%s -c \"%s\"", shell, cmd);
cmd = cline; cmd = cline;
} }
printf(cmd);
reset_tty(); reset_tty();
system(cmd); system(cmd);
set_tty(); set_tty();
printf("\r"); printf("\r");

View file

@ -1,4 +1,4 @@
.TH BMORE 1 "13 June 2000" .TH BMORE 1 "3 Jan 2002"
.SH NAME .SH NAME
bmore \- browse through a binary file bmore \- browse through a binary file
.SH SYNOPSIS .SH SYNOPSIS

95
bmore.c
View file

@ -4,10 +4,11 @@
* 1990-09-04 V 1.1.0 * 1990-09-04 V 1.1.0
* 2000-05-31 V 1.3.0 beta * 2000-05-31 V 1.3.0 beta
* 2000-10-18 V 1.3.0 final * 2000-10-18 V 1.3.0 final
* 2002-01-16 V 1.3.1
* *
* NOTE: Edit this file with tabstop=4 ! * NOTE: Edit this file with tabstop=4 !
* *
* Copyright 1990-2000 by Gerhard Buergmann * Copyright 1990-2002 by Gerhard Buergmann
* Gerhard.Buergmann@altavista.net * Gerhard.Buergmann@altavista.net
* *
* This program is free software; you can redistribute it and/or modify it * This program is free software; you can redistribute it and/or modify it
@ -35,17 +36,18 @@
#else #else
# define PRINTF printf # define PRINTF printf
#ifndef HELPFILE #ifndef HELPFILE
# define HELPFILE "/usr/local/lib/bmore.help" # define HELPFILE "/usr/local/share/bmore.help"
#endif #endif
#endif #endif
#include "bmore.h" #include "bmore.h"
char *copyright = "Copyright (C) 1990-2000 by Gerhard Buergmann"; char *copyright = "Copyright (C) 1990-2002 by Gerhard Buergmann";
int maxx, maxy; int maxx, maxy;
char *name = NULL; char *name = NULL;
char sstring[MAXCMD] = ""; char sstring[MAXCMD] = ""; /* string for search */
char estring[MAXCMD] = ""; /* string for shell escape */
char string[MAXCMD]; char string[MAXCMD];
FILE *curr_file = NULL, *help_file; FILE *curr_file = NULL, *help_file;
int AnzAdd; int AnzAdd;
@ -186,7 +188,7 @@ main(argc, argv)
strcpy(addr_form, "%08lX "); strcpy(addr_form, "%08lX ");
if (ascii_flag) if (ascii_flag)
out_len = ((maxx - AnzAdd - 1) / 4) * 4; out_len = ((maxx - AnzAdd - 1) / 4) * 4;
else else
out_len = ((maxx - AnzAdd - 1) / 16) * 4; out_len = ((maxx - AnzAdd - 1) / 16) * 4;
@ -195,6 +197,7 @@ main(argc, argv)
if (no_tty) { if (no_tty) {
while(!printout(1)); while(!printout(1));
fclose(curr_file);
reset_tty(); reset_tty();
exit(0); exit(0);
} }
@ -260,6 +263,7 @@ main(argc, argv)
case 'q': case 'q':
case 'Q': case 'Q':
clreol(); clreol();
fclose(curr_file);
reset_tty(); reset_tty();
exit(0); exit(0);
case ':' : case ':' :
@ -292,29 +296,38 @@ main(argc, argv)
break; break;
case 'q': case 'q':
clreol(); clreol();
fclose(curr_file);
reset_tty(); reset_tty();
exit(0); exit(0);
break; break;
case '!': case '!':
if (!no_intty) { if (!no_intty) {
clreol(); clreol();
if (rdline(ch)) break; if (rdline(colon, estring)) break;
doshell(sstring); doshell(estring);
PRINTF("------------------------\r\n"); PRINTF("------------------------\r\n");
break; break;
} }
default: default:
beep(); bmbeep();
} }
break; break;
case '!':
if (!no_intty) {
clreol();
if (rdline(ch, estring)) break;
doshell(estring);
PRINTF("------------------------\r\n");
break;
}
case 'd': /* Scroll k lines [current scroll size, initially 11]* */ case 'd': /* Scroll k lines [current scroll size, initially 11]* */
case CTRL('D'): case BVICTRL('D'):
if (precount > 0) d_line = precount; if (precount > 0) d_line = precount;
to_print = d_line; to_print = d_line;
break; break;
case CTRL('L'): /*** REDRAW SCREEN ***/ case BVICTRL('L'): /*** REDRAW SCREEN ***/
if (no_intty) { if (no_intty) {
beep(); bmbeep();
} else { } else {
clrscr(); clrscr();
to_print = maxy + 1; to_print = maxy + 1;
@ -323,9 +336,9 @@ main(argc, argv)
} }
break; break;
case 'b': /* Skip backwards k screenfuls of text [1] */ case 'b': /* Skip backwards k screenfuls of text [1] */
case CTRL('B'): case BVICTRL('B'):
if (no_intty) { if (no_intty) {
beep(); bmbeep();
} else { } else {
if (precount < 1) precount = 1; if (precount < 1) precount = 1;
PRINTF("...back %ld page", precount); PRINTF("...back %ld page", precount);
@ -364,12 +377,13 @@ main(argc, argv)
break; break;
case '\\': case '\\':
if (ascii_flag) { if (ascii_flag) {
beep(); bmbeep();
break; break;
} }
case '/': /**** Search String ****/ case '/': /**** Search String ****/
if (!repeat) { if (!repeat) {
if (rdline(ch)) break; clreol();
if (rdline(ch, sstring)) break;
} }
case 'n': /**** Search Next ****/ case 'n': /**** Search Next ****/
case 'N': case 'N':
@ -380,7 +394,7 @@ main(argc, argv)
break; break;
case '\'': case '\'':
if (no_intty) { if (no_intty) {
beep(); bmbeep();
} else { } else {
bytepos = last_search; bytepos = last_search;
fseek(curr_file, bytepos, SEEK_SET); fseek(curr_file, bytepos, SEEK_SET);
@ -431,7 +445,7 @@ main(argc, argv)
if (d_flag) { if (d_flag) {
emsg("[Press 'h' for instructions.]"); emsg("[Press 'h' for instructions.]");
} else { } else {
beep(); bmbeep();
} }
break; break;
} }
@ -445,13 +459,18 @@ main(argc, argv)
int int
rdline(ch) rdline(ch, sstring)
int ch; int ch;
char *sstring;
{ {
int i = 0; int i = 0;
int ch1 = 0; int ch1 = 0;
char bstring[MAXCMD];
clreol();
if (ch == '!') {
strcpy(bstring, sstring);
sstring[0] = '\0';
}
putchar(ch); putchar(ch);
fflush(stdout); fflush(stdout);
@ -468,6 +487,15 @@ rdline(ch)
ch1 = ESC; ch1 = ESC;
break; break;
} }
} else if (ch1 == '!' && i == 0) {
if (bstring[0] == '\0') {
emsg("No previous command");
return 1;
}
putchar(ch1);
PRINTF("\r%c%s", ch, bstring);
strcat(sstring, bstring);
i = strlen(sstring);
} else { } else {
putchar(ch1); putchar(ch1);
sstring[i++] = ch1; sstring[i++] = ch1;
@ -490,6 +518,7 @@ do_next(n)
{ {
if (numfiles) { if (numfiles) {
if (n == 1 && file_nr == numfiles) { if (n == 1 && file_nr == numfiles) {
fclose(curr_file);
reset_tty(); reset_tty();
exit(0); exit(0);
} }
@ -503,6 +532,7 @@ do_next(n)
free(name); free(name);
name = strdup(*(files + file_nr - 1)); name = strdup(*(files + file_nr - 1));
} else { } else {
fclose(curr_file);
reset_tty(); reset_tty();
exit(0); exit(0);
} }
@ -526,7 +556,7 @@ open_file(name)
} }
if (curr_file != NULL) fclose(curr_file); if (curr_file != NULL) fclose(curr_file);
if ((curr_file = fopen(name, "rb")) == NULL) { if ((curr_file = fopen(name, "rb")) == NULL) {
reset_tty(); /* reset_tty(); */
perror(name); perror(name);
exit(1); exit(1);
} }
@ -554,6 +584,13 @@ putline(buf, num)
else else
*(string + print_pos) = '.'; *(string + print_pos) = '.';
} }
for (; print_pos < out_len; print_pos++) {
if (!ascii_flag) {
PRINTF(" ");
}
++bytepos;
*(string + print_pos) = ' ';
}
*(string + num) = '\0'; *(string + num) = '\0';
PRINTF("%s\r\n", string); PRINTF("%s\r\n", string);
} }
@ -792,11 +829,11 @@ bmsearch(ch)
PRINTF("\r\nPattern not found\r\n"); PRINTF("\r\nPattern not found\r\n");
do_next(1); do_next(1);
} else { } else {
/*
sprintf(string, "Pattern not found %d - %ul", i, (unsigned long)bytepos); sprintf(string, "Pattern not found %d - %ul", i, (unsigned long)bytepos);
emsg(string); emsg(string);
/*
emsg("Pattern not found");
*/ */
emsg("Pattern not found");
bytepos = oldpos; bytepos = oldpos;
fseek(curr_file, bytepos, SEEK_SET); fseek(curr_file, bytepos, SEEK_SET);
break; break;
@ -825,3 +862,9 @@ emsg(s)
fflush(stdout); fflush(stdout);
prompt = 0; prompt = 0;
} }
void
bmbeep() {
putchar(7);
}

24
bmore.h
View file

@ -7,10 +7,11 @@
* 1999-08-21 V 1.2.0 final * 1999-08-21 V 1.2.0 final
* 2000-05-31 V 1.3.0 beta * 2000-05-31 V 1.3.0 beta
* 2000-10-04 V 1.3.0 final * 2000-10-04 V 1.3.0 final
* 2002-01-16 V 1.3.1
* *
* NOTE: Edit this file with tabstop=4 ! * NOTE: Edit this file with tabstop=4 !
* *
* Copyright 1996-2000 by Gerhard Buergmann * Copyright 1996-2002 by Gerhard Buergmann
* Gerhard.Buergmann@altavista.net * Gerhard.Buergmann@altavista.net
* *
* This program is free software; you can redistribute it and/or modify it * This program is free software; you can redistribute it and/or modify it
@ -47,10 +48,11 @@
# include <unistd.h> # include <unistd.h>
#if HAVE_NCURSES_H #if HAVE_NCURSES_H
# include <ncurses.h> # include <ncurses.h>
# include <ncurses/term.h>
#else #else
# include <curses.h> # include <curses.h>
# include <term.h>
#endif #endif
#include <term.h>
#endif #endif
/* defines for filemode */ /* defines for filemode */
@ -76,9 +78,7 @@
#define ESC 27 #define ESC 27
#define SEARCH 0 #define SEARCH 0
#define REPLACE 1 #define REPLACE 1
#ifndef CTRL #define BVICTRL(n) (n&0x1f)
# define CTRL(n) (n&0x1f)
#endif
#ifndef NULL #ifndef NULL
# define NULL ((void *)0) # define NULL ((void *)0)
@ -109,13 +109,11 @@
extern FILE *debug_fp; extern FILE *debug_fp;
#endif #endif
extern char *version; #ifndef HAVE_STRERROR
extern char *sys_errlist[];
#ifdef NO_SYSERRL
extern char *sys_errlist[];
#endif #endif
extern char *version;
extern int maxx, maxy; extern int maxx, maxy;
extern int ignore_case, magic; extern int ignore_case, magic;
extern int no_tty, no_intty; extern int no_tty, no_intty;
@ -126,13 +124,13 @@ extern int no_tty, no_intty;
#ifdef ANSI #ifdef ANSI
void initterm(void), set_tty(void), reset_tty(void); void initterm(void), set_tty(void), reset_tty(void);
void clreol(void), clrscr(void), highvideo(void), normvideo(void); void clreol(void), clrscr(void), highvideo(void), normvideo(void);
void /* beep(void), */ home(void); void bmbeep(void), home(void), sig(void);
void doshell(char *), emsg(char *); void doshell(char *), emsg(char *);
void do_next(int); void do_next(int);
void open_file(char *); void open_file(char *);
void bmsearch(int); void bmsearch(int);
void pushback(int, char *); void pushback(int, char *);
int printout(int), rdline(int); int printout(int), rdline(int, char *);
int nextchar(void), vgetc(void); int nextchar(void), vgetc(void);
int sbracket(int, char *, int); int sbracket(int, char *, int);
int bmregexec(char *); int bmregexec(char *);
@ -141,7 +139,7 @@ extern int no_tty, no_intty;
#else #else
void initterm(), set_tty(), reset_tty(); void initterm(), set_tty(), reset_tty();
void clreol(), clrscr(), highvideo(), normvideo(); void clreol(), clrscr(), highvideo(), normvideo();
void /* beep(), */ home(); void bmbeep(), home(), sig();
void doshell(), emsg(); void doshell(), emsg();
void do_next(); void do_next();
void open_file(); void open_file();

View file

@ -193,6 +193,6 @@ SSEEEE AALLSSOO
13 June 2000 3 3 Jan 2002 3

6
bvi.1
View file

@ -93,7 +93,7 @@
.nr % 0 .nr % 0
.rr F .rr F
.\} .\}
.TH BVI 1 "BVI Version 1.3.0" "18/Oct/2000" "User Commands" .TH BVI 1 "BVI Version 1.3.1" "3/Jan/2002" "User Commands"
.IX Title "BVI 1" .IX Title "BVI 1"
.UC .UC
.IX Name "bvi, bview - visual display editor for binary files" .IX Name "bvi, bview - visual display editor for binary files"
@ -194,7 +194,7 @@
bvi, bview \- visual editor for binary files bvi, bview \- visual editor for binary files
.SH "VERSION" .SH "VERSION"
.IX Header "VERSION" .IX Header "VERSION"
bvi-1.3.0 bvi-1.3.1
.SH "SYNOPSIS" .SH "SYNOPSIS"
.IX Header "SYNOPSIS" .IX Header "SYNOPSIS"
\fBbvi\fR\ \ \ [\fB\-R\fR]\ [\fB\-c\fR\ \fIcmd\fR]\ [\fB\-f\fR\ \fIscript\fR]\ [\fB\-b\fR\ \fIbegin\fR]\ [\fB\-e\fR\ \fIend\fR]\ [\fB\-s\fR\ \fIsize\fR]\ \fIfile\fR... \fBbvi\fR\ \ \ [\fB\-R\fR]\ [\fB\-c\fR\ \fIcmd\fR]\ [\fB\-f\fR\ \fIscript\fR]\ [\fB\-b\fR\ \fIbegin\fR]\ [\fB\-e\fR\ \fIend\fR]\ [\fB\-s\fR\ \fIsize\fR]\ \fIfile\fR...
@ -597,7 +597,7 @@ bvi was developed by Gerhard Buergmann, Vienna, Austria
\fIGerhard.Buergmann@altavista.net\fR \fIGerhard.Buergmann@altavista.net\fR
.SH "WWW" .SH "WWW"
.IX Header "WWW" .IX Header "WWW"
Bvi\ Homepage:\ \ http://bvi.linuxave.net/ Bvi\ Homepage:\ \ http://bvi.sourceforge.net/
Vi\ Pages:\ \ \ \ \ \ http://www.math.fu-berlin.de/~guckes/vi/ Vi\ Pages:\ \ \ \ \ \ http://www.math.fu-berlin.de/~guckes/vi/
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (all\ about\ Vi\ and\ its\ clones) \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (all\ about\ Vi\ and\ its\ clones)
.SH "FILES" .SH "FILES"

47
bvi.c
View file

@ -7,10 +7,11 @@
* 1999-10-22 V 1.2.0 final * 1999-10-22 V 1.2.0 final
* 2000-05-10 V 1.3.0 alpha * 2000-05-10 V 1.3.0 alpha
* 2000-10-24 V 1.3.0 final * 2000-10-24 V 1.3.0 final
* 2002-01-03 V 1.3.1
* *
* NOTE: Edit this file with tabstop=4 ! * NOTE: Edit this file with tabstop=4 !
* *
* Copyright 1996-2000 by Gerhard Buergmann * Copyright 1996-2002 by Gerhard Buergmann
* Gerhard.Buergmann@altavista.net * Gerhard.Buergmann@altavista.net
* *
* This program is free software; you can redistribute it and/or modify it * This program is free software; you can redistribute it and/or modify it
@ -36,7 +37,7 @@
#endif #endif
char *copyright = "Copyright (C) 1996-2000 by Gerhard Buergmann"; char *copyright = "Copyright (C) 1996-2002 by Gerhard Buergmann";
jmp_buf env; /* context for `longjmp' function */ jmp_buf env; /* context for `longjmp' function */
@ -329,7 +330,7 @@ main(argc, argv)
if (loc == HEX) x = AnzAdd; if (loc == HEX) x = AnzAdd;
else x = AnzAdd + Anzahl3; else x = AnzAdd + Anzahl3;
break; break;
case CTRL('H'): case BVICTRL('H'):
case KEY_BACKSPACE: case KEY_BACKSPACE:
case KEY_LEFT: case KEY_LEFT:
case 'h': do { case 'h': do {
@ -344,7 +345,10 @@ main(argc, argv)
case ' ': case ' ':
case KEY_RIGHT: case KEY_RIGHT:
case 'l': do { case 'l': do {
/*
if (x < (Anzahl3 + 6)) x += 3; if (x < (Anzahl3 + 6)) x += 3;
*/
if (x < (Anzahl3 + AnzAdd - 2)) x += 3;
else if (x > (Anzahl3 + 3) else if (x > (Anzahl3 + 3)
&& x < (Anzahl3 + AnzAdd - 1 + Anzahl)) && x < (Anzahl3 + AnzAdd - 1 + Anzahl))
x++; x++;
@ -363,8 +367,8 @@ main(argc, argv)
case CR: if (loc == HEX) x = AnzAdd; case CR: if (loc == HEX) x = AnzAdd;
else x = AnzAdd + Anzahl3; else x = AnzAdd + Anzahl3;
case 'j': case 'j':
case CTRL('J'): case BVICTRL('J'):
case CTRL('N'): case BVICTRL('N'):
case KEY_DOWN: case KEY_DOWN:
do { do {
if ((PTR)((pagepos + (y + 1) * Anzahl)) > maxpos) break; if ((PTR)((pagepos + (y + 1) * Anzahl)) > maxpos) break;
@ -386,25 +390,25 @@ main(argc, argv)
if (strlen(cmdstr)) if (strlen(cmdstr))
docmdline(cmdstr); docmdline(cmdstr);
break; break;
case CTRL('B'): case BVICTRL('B'):
case KEY_PPAGE: /**** Previous Page ****/ case KEY_PPAGE: /**** Previous Page ****/
if (mem <= (PTR)(pagepos - screen)) pagepos -= screen; if (mem <= (PTR)(pagepos - screen)) pagepos -= screen;
else pagepos = mem; else pagepos = mem;
repaint(); repaint();
break; break;
case CTRL('D'): case BVICTRL('D'):
if (precount > 1) scrolly = precount; if (precount > 1) scrolly = precount;
scrolldown(scrolly); scrolldown(scrolly);
break; break;
case CTRL('U'): case BVICTRL('U'):
if (precount > 1) scrolly = precount; if (precount > 1) scrolly = precount;
scrollup(scrolly); scrollup(scrolly);
break; break;
case CTRL('E'): case BVICTRL('E'):
if (y > 0) y--; if (y > 0) y--;
scrolldown(1); scrolldown(1);
break; break;
case CTRL('F'): case BVICTRL('F'):
case KEY_NPAGE: /**** Next Page *****/ case KEY_NPAGE: /**** Next Page *****/
if (maxpos >= (PTR)(pagepos + screen)) { if (maxpos >= (PTR)(pagepos + screen)) {
pagepos += screen; pagepos += screen;
@ -416,14 +420,14 @@ main(argc, argv)
repaint(); repaint();
} }
break; break;
case CTRL('G'): case BVICTRL('G'):
fileinfo(name); fileinfo(name);
wrstat = 0; wrstat = 0;
break; break;
case CTRL('L'): /*** REDRAW SCREEN ***/ case BVICTRL('L'): /*** REDRAW SCREEN ***/
new_screen(); new_screen();
break; break;
case CTRL('Y'): case BVICTRL('Y'):
if (y < maxy) y++; if (y < maxy) y++;
scrollup(1); scrollup(1);
break; break;
@ -540,6 +544,7 @@ main(argc, argv)
break; break;
case 'r': case 'r':
case 'R': if (filesize == 0L) break; case 'R': if (filesize == 0L) break;
if (precount < 1) precount = 1;
sprintf(rep_buf, "%ld%c", precount, ch); sprintf(rep_buf, "%ld%c", precount, ch);
undo_count = edit(ch); undo_count = edit(ch);
lflag++; lflag++;
@ -619,7 +624,7 @@ main(argc, argv)
if (count > 0) if (count > 0)
do_delete((off_t)count, current); do_delete((off_t)count, current);
else if (count < 0) else if (count < 0)
do_back(-count, current); do_back(-(off_t)count, current);
if (ch == 'c') { if (ch == 'c') {
precount = 1; precount = 1;
undo_count = edit('i'); undo_count = edit('i');
@ -637,7 +642,7 @@ main(argc, argv)
break; break;
case 'X': case 'X':
sprintf(rep_buf, "%ldX", precount); sprintf(rep_buf, "%ldX", precount);
do_back(precount, current); do_back((off_t)precount, current);
break; break;
default: default:
flushinp(); flushinp();
@ -645,11 +650,21 @@ main(argc, argv)
} }
} else { } else {
switch (ch) { switch (ch) {
case 'x':
if (precount < 1) precount = 1;
if ((off_t)precount + current == maxpos) {
sprintf(rep_buf, "%ldx", precount);
do_delete((off_t)precount, current);
} else {
movebyte();
flushinp();
beep();
}
break;
case 'd': case 'd':
case 'i': case 'i':
case 'I': case 'I':
case 'p': case 'p':
case 'x':
case 'X': case 'X':
movebyte(); movebyte();
default: default:

15
bvi.h
View file

@ -7,10 +7,11 @@
* 1999-08-21 V 1.2.0 final * 1999-08-21 V 1.2.0 final
* 2000-05-10 V 1.3.0 alpha * 2000-05-10 V 1.3.0 alpha
* 2000-10-24 V 1.3.0 final * 2000-10-24 V 1.3.0 final
* 2001-10-29 V 1.3.1
* *
* NOTE: Edit this file with tabstop=4 ! * NOTE: Edit this file with tabstop=4 !
* *
* Copyright 1996-2000 by Gerhard Buergmann * Copyright 1996-2001 by Gerhard Buergmann
* Gerhard.Buergmann@altavista.net * Gerhard.Buergmann@altavista.net
* *
* This program is free software; you can redistribute it and/or modify it * This program is free software; you can redistribute it and/or modify it
@ -95,10 +96,7 @@
#define BS 8 #define BS 8
#define ESC 27 #define ESC 27
#define SEARCH 0 #define SEARCH 0
#define REPLACE 1 #define BVICTRL(n) (n&0x1f)
#ifndef CTRL
# define CTRL(n) (n&0x1f)
#endif
#define CMDLNG(a,b) (len <= a && len >= b) #define CMDLNG(a,b) (len <= a && len >= b)
@ -134,12 +132,11 @@
extern FILE *debug_fp; extern FILE *debug_fp;
#endif #endif
extern char *version; #ifndef HAVE_STRERROR
extern char *sys_errlist[];
#ifdef NO_SYSERRL
extern char *sys_errlist[];
#endif #endif
extern char *version;
extern char addr_form[]; extern char addr_form[];
extern char pattern[]; extern char pattern[];
extern char rep_buf[]; extern char rep_buf[];

View file

@ -5,7 +5,7 @@ NAME
bvi, bview - visual display editor for binary files bvi, bview - visual display editor for binary files
VERSION VERSION
bvi-1.2.0 bvi-1.3.1
SYNOPSIS SYNOPSIS
bvi [-R] [-c cmd] [-f script] file... bvi [-R] [-c cmd] [-f script] file...
@ -385,7 +385,7 @@ AUTHOR
Gerhard.Buergmann@altavista.net Gerhard.Buergmann@altavista.net
WWW WWW
Bvi Homepage: http://bvi.linuxave.net/ Bvi Homepage: http://bvi.sourceforge.net/
Vi Pages: http://www.math.fu-berlin.de/~guckes/vi/ Vi Pages: http://www.math.fu-berlin.de/~guckes/vi/
(all about Vi and its clones) (all about Vi and its clones)
@ -401,4 +401,4 @@ SEE ALSO
vi(1), strings(1), ascii(5) vi(1), strings(1), ascii(5)
31/Oct/99 BVI Version 1.2.0 8 3/Jan/2002 BVI Version 1.3.1 8

10
comm.c
View file

@ -8,10 +8,11 @@
* 1999-09-10 V 1.2.0 final * 1999-09-10 V 1.2.0 final
* 2000-03-03 V 1.3.0 beta * 2000-03-03 V 1.3.0 beta
* 2000-07-15 V 1.3.0 final * 2000-07-15 V 1.3.0 final
* 2001-10-10 V 1.3.1
* *
* NOTE: Edit this file with tabstop=4 ! * NOTE: Edit this file with tabstop=4 !
* *
* Copyright 1996-2000 by Gerhard Buergmann * Copyright 1996-2001 by Gerhard Buergmann
* Gerhard.Buergmann@altavista.net * Gerhard.Buergmann@altavista.net
* *
* This program is free software; you can redistribute it and/or modify it * This program is free software; you can redistribute it and/or modify it
@ -220,7 +221,7 @@ docmdline(cmdline)
if (repl_count == -1) { if (repl_count == -1) {
emsg("No previous substitute re|No previous substitute regular expression"); emsg("No previous substitute re|No previous substitute regular expression");
return; /* No prev subst */ return; /* No prev subst */
} }
repaint(); repaint();
if (!repl_count) { if (!repl_count) {
emsg("Fail|Substitute pattern matching failed"); emsg("Fail|Substitute pattern matching failed");
@ -726,7 +727,12 @@ sysemsg(s)
{ {
char string[256]; char string[256];
#ifdef HAVE_STRERROR
sprintf(string, "%s: %s", s, strerror(errno));
#else
sprintf(string, "%s: %s", s, sys_errlist[errno]); sprintf(string, "%s: %s", s, sys_errlist[errno]);
#endif
emsg(string); emsg(string);
} }

879
config.guess vendored Executable file → Normal file

File diff suppressed because it is too large Load diff

View file

@ -15,8 +15,6 @@
/* Define if you have the ANSI C header files. */ /* Define if you have the ANSI C header files. */
#undef STDC_HEADERS #undef STDC_HEADERS
#undef NO_SYSERRL
/* Define if you have the memmove function. */ /* Define if you have the memmove function. */
#undef HAVE_MEMMOVE #undef HAVE_MEMMOVE
@ -26,6 +24,9 @@
/* Define if you have the strtol function. */ /* Define if you have the strtol function. */
#undef HAVE_STRTOL #undef HAVE_STRTOL
/* Define if you have the strerror function. */
#undef HAVE_STRERROR
/* Define if you have the <curses.h> header file. */ /* Define if you have the <curses.h> header file. */
#undef HAVE_CURSES_H #undef HAVE_CURSES_H
@ -43,3 +44,4 @@
/* Define if your tputs need putc(char) */ /* Define if your tputs need putc(char) */
#undef NEED_PUTC_CHAR #undef NEED_PUTC_CHAR

565
config.sub vendored Executable file → Normal file
View file

@ -1,6 +1,10 @@
#! /bin/sh #! /bin/sh
# Configuration validation subroutine script, version 1.1. # Configuration validation subroutine script.
# Copyright (C) 1991, 92, 93, 94, 95, 96, 1997 Free Software Foundation, Inc. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
timestamp='2001-06-08'
# This file is (in principle) common to ALL GNU software. # This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software # The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can. # can handle that machine. It does not imply ALL GNU software can.
@ -25,6 +29,8 @@
# configuration script generated by Autoconf, you may include it under # configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program. # the same distribution terms that you use for the rest of that program.
# Please send patches to <config-patches@gnu.org>.
#
# Configuration subroutine to validate and canonicalize a configuration type. # Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument. # Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1. # If it is invalid, we print an error message on stderr and exit with code 1.
@ -45,30 +51,73 @@
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification. # It is wrong to echo any other type of specification.
if [ x$1 = x ] me=`echo "$0" | sed -e 's,.*/,,'`
then
echo Configuration name missing. 1>&2
echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
echo "or $0 ALIAS" 1>&2
echo where ALIAS is a recognized configuration type. 1>&2
exit 1
fi
# First pass through any local machine types. usage="\
case $1 in Usage: $0 [OPTION] CPU-MFR-OPSYS
*local*) $0 [OPTION] ALIAS
echo $1
exit 0 Canonicalize a configuration name.
;;
*) Operation modes:
;; -h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help="
Try \`$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
echo "$timestamp" ; exit 0 ;;
--version | -v )
echo "$version" ; exit 0 ;;
--help | --h* | -h )
echo "$usage"; exit 0 ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
break ;;
-* )
echo "$me: invalid option $1$help"
exit 1 ;;
*local*)
# First pass through any local machine types.
echo $1
exit 0;;
* )
break ;;
esac
done
case $# in
0) echo "$me: missing argument$help" >&2
exit 1;;
1) ;;
*) echo "$me: too many arguments$help" >&2
exit 1;;
esac esac
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations. # Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in case $maybe_os in
linux-gnu*) nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*)
os=-$maybe_os os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;; ;;
@ -94,15 +143,33 @@ case $os in
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-apple) -apple | -axis)
os= os=
basic_machine=$1 basic_machine=$1
;; ;;
-sim | -cisco | -oki | -wec | -winbond)
os=
basic_machine=$1
;;
-scout)
;;
-wrs)
os=-vxworks
basic_machine=$1
;;
-chorusos*)
os=-chorusos
basic_machine=$1
;;
-chorusrdb)
os=-chorusrdb
basic_machine=$1
;;
-hiux*) -hiux*)
os=-hiuxwe2 os=-hiuxwe2
;; ;;
-sco5) -sco5)
os=sco3.2v5 os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;; ;;
-sco4) -sco4)
@ -121,6 +188,9 @@ case $os in
os=-sco3.2v2 os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;; ;;
-udk*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-isc) -isc)
os=-isc2.2 os=-isc2.2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@ -143,26 +213,50 @@ case $os in
-psos*) -psos*)
os=-psos os=-psos
;; ;;
-mint | -mint[0-9]*)
basic_machine=m68k-atari
os=-mint
;;
esac esac
# Decode aliases for certain CPU-COMPANY combinations. # Decode aliases for certain CPU-COMPANY combinations.
case $basic_machine in case $basic_machine in
# Recognize the basic CPU types without company name. # Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below. # Some are omitted here because they have special meanings below.
tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \ tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \
| arme[lb] | pyramid | mn10200 | mn10300 \ | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \
| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \ | pyramid | mn10200 | mn10300 | tron | a29k \
| alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \ | 580 | i960 | h8300 \
| i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \ | x86 | ppcbe | mipsbe | mipsle | shbe | shle \
| mips64 | mipsel | mips64el | mips64orion | mips64orionel \ | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
| mipstx39 | mipstx39el \ | hppa64 \
| sparc | sparclet | sparclite | sparc64 | v850) | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
| alphaev6[78] \
| we32k | ns16k | clipper | i370 | sh | sh[34] \
| powerpc | powerpcle \
| 1750a | dsp16xx | pdp10 | pdp11 \
| mips16 | mips64 | mipsel | mips64el \
| mips64orion | mips64orionel | mipstx39 | mipstx39el \
| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
| mips64vr5000 | mips64vr5000el | mcore | s390 | s390x \
| sparc | sparclet | sparclite | sparc64 | sparcv9 | sparcv9b \
| v850 | c4x \
| thumb | d10v | d30v | fr30 | avr | openrisc | tic80 \
| pj | pjl | h8500 | z8k)
basic_machine=$basic_machine-unknown basic_machine=$basic_machine-unknown
;; ;;
m6811 | m68hc11 | m6812 | m68hc12)
# Motorola 68HC11/12.
basic_machine=$basic_machine-unknown
os=-none
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;;
# We use `pc' rather than `unknown' # We use `pc' rather than `unknown'
# because (1) that's what they normally are, and # because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users. # (2) the word "unknown" tends to confuse beginning users.
i[3456]86) i*86 | x86_64)
basic_machine=$basic_machine-pc basic_machine=$basic_machine-pc
;; ;;
# Object if more than one company name word. # Object if more than one company name word.
@ -171,27 +265,52 @@ case $basic_machine in
exit 1 exit 1
;; ;;
# Recognize the basic CPU types with company name. # Recognize the basic CPU types with company name.
vax-* | tahoe-* | i[3456]86-* | i860-* | m32r-* | m68k-* | m68000-* \ # FIXME: clean up the formatting here.
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \ vax-* | tahoe-* | i*86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \
| arm-* | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
| power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \ | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
| xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* \ | xmp-* | ymp-* \
| alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \ | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \
| ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \ | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \ | hppa2.0n-* | hppa64-* \
| sparc64-* | mips64-* | mipsel-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
| mips64el-* | mips64orion-* | mips64orionel-* \ | alphaev6[78]-* \
| mipstx39-* | mipstx39el-* \ | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
| f301-*) | clipper-* | orion-* \
| sparclite-* | pdp10-* | pdp11-* | sh-* | sh[34]-* | sh[34]eb-* \
| powerpc-* | powerpcle-* | sparc64-* | sparcv9-* | sparcv9b-* | sparc86x-* \
| mips16-* | mips64-* | mipsel-* \
| mips64el-* | mips64orion-* | mips64orionel-* \
| mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
| mipstx39-* | mipstx39el-* | mcore-* \
| f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \
| [cjt]90-* \
| m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
| thumb-* | v850-* | d30v-* | tic30-* | tic80-* | c30-* | fr30-* \
| bs2000-* | tic54x-* | c54x-* | x86_64-* | pj-* | pjl-*)
;; ;;
# Recognize the various machine names and aliases which stand # Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS. # for a CPU type and a company and sometimes even an OS.
386bsd)
basic_machine=i386-unknown
os=-bsd
;;
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
basic_machine=m68000-att basic_machine=m68000-att
;; ;;
3b*) 3b*)
basic_machine=we32k-att basic_machine=we32k-att
;; ;;
a29khif)
basic_machine=a29k-amd
os=-udi
;;
adobe68k)
basic_machine=m68010-adobe
os=-scout
;;
alliant | fx80) alliant | fx80)
basic_machine=fx80-alliant basic_machine=fx80-alliant
;; ;;
@ -207,20 +326,24 @@ case $basic_machine in
os=-sysv os=-sysv
;; ;;
amiga | amiga-*) amiga | amiga-*)
basic_machine=m68k-cbm basic_machine=m68k-unknown
;; ;;
amigaos | amigados) amigaos | amigados)
basic_machine=m68k-cbm basic_machine=m68k-unknown
os=-amigaos os=-amigaos
;; ;;
amigaunix | amix) amigaunix | amix)
basic_machine=m68k-cbm basic_machine=m68k-unknown
os=-sysv4 os=-sysv4
;; ;;
apollo68) apollo68)
basic_machine=m68k-apollo basic_machine=m68k-apollo
os=-sysv os=-sysv
;; ;;
apollo68bsd)
basic_machine=m68k-apollo
os=-bsd
;;
aux) aux)
basic_machine=m68k-apple basic_machine=m68k-apple
os=-aux os=-aux
@ -257,13 +380,16 @@ case $basic_machine in
basic_machine=cray2-cray basic_machine=cray2-cray
os=-unicos os=-unicos
;; ;;
[ctj]90-cray) [cjt]90)
basic_machine=c90-cray basic_machine=${basic_machine}-cray
os=-unicos os=-unicos
;; ;;
crds | unos) crds | unos)
basic_machine=m68k-crds basic_machine=m68k-crds
;; ;;
cris | cris-* | etrax*)
basic_machine=cris-axis
;;
da30 | da30-*) da30 | da30-*)
basic_machine=m68k-da30 basic_machine=m68k-da30
;; ;;
@ -297,6 +423,10 @@ case $basic_machine in
encore | umax | mmax) encore | umax | mmax)
basic_machine=ns32k-encore basic_machine=ns32k-encore
;; ;;
es1800 | OSE68k | ose68k | ose | OSE)
basic_machine=m68k-ericsson
os=-ose
;;
fx2800) fx2800)
basic_machine=i860-alliant basic_machine=i860-alliant
;; ;;
@ -307,6 +437,10 @@ case $basic_machine in
basic_machine=tron-gmicro basic_machine=tron-gmicro
os=-sysv os=-sysv
;; ;;
go32)
basic_machine=i386-pc
os=-go32
;;
h3050r* | hiux*) h3050r* | hiux*)
basic_machine=hppa1.1-hitachi basic_machine=hppa1.1-hitachi
os=-hiuxwe2 os=-hiuxwe2
@ -315,6 +449,14 @@ case $basic_machine in
basic_machine=h8300-hitachi basic_machine=h8300-hitachi
os=-hms os=-hms
;; ;;
h8300xray)
basic_machine=h8300-hitachi
os=-xray
;;
h8500hms)
basic_machine=h8500-hitachi
os=-hms
;;
harris) harris)
basic_machine=m88k-harris basic_machine=m88k-harris
os=-sysv3 os=-sysv3
@ -330,13 +472,30 @@ case $basic_machine in
basic_machine=m68k-hp basic_machine=m68k-hp
os=-hpux os=-hpux
;; ;;
hp3k9[0-9][0-9] | hp9[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hp9k2[0-9][0-9] | hp9k31[0-9]) hp9k2[0-9][0-9] | hp9k31[0-9])
basic_machine=m68000-hp basic_machine=m68000-hp
;; ;;
hp9k3[2-9][0-9]) hp9k3[2-9][0-9])
basic_machine=m68k-hp basic_machine=m68k-hp
;; ;;
hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7) hp9k6[0-9][0-9] | hp6[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hp9k7[0-79][0-9] | hp7[0-79][0-9])
basic_machine=hppa1.1-hp
;;
hp9k78[0-9] | hp78[0-9])
# FIXME: really hppa2.0-hp
basic_machine=hppa1.1-hp
;;
hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
# FIXME: really hppa2.0-hp
basic_machine=hppa1.1-hp
;;
hp9k8[0-9][13679] | hp8[0-9][13679])
basic_machine=hppa1.1-hp basic_machine=hppa1.1-hp
;; ;;
hp9k8[0-9][0-9] | hp8[0-9][0-9]) hp9k8[0-9][0-9] | hp8[0-9][0-9])
@ -345,27 +504,42 @@ case $basic_machine in
hppa-next) hppa-next)
os=-nextstep3 os=-nextstep3
;; ;;
hppaosf)
basic_machine=hppa1.1-hp
os=-osf
;;
hppro)
basic_machine=hppa1.1-hp
os=-proelf
;;
i370-ibm* | ibm*) i370-ibm* | ibm*)
basic_machine=i370-ibm basic_machine=i370-ibm
os=-mvs
;; ;;
# I'm not sure what "Sysv32" means. Should this be sysv3.2? # I'm not sure what "Sysv32" means. Should this be sysv3.2?
i[3456]86v32) i*86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32 os=-sysv32
;; ;;
i[3456]86v4*) i*86v4*)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv4 os=-sysv4
;; ;;
i[3456]86v) i*86v)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv os=-sysv
;; ;;
i[3456]86sol2) i*86sol2)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2 os=-solaris2
;; ;;
i386mach)
basic_machine=i386-mach
os=-mach
;;
i386-vsta | vsta)
basic_machine=i386-unknown
os=-vsta
;;
iris | iris4d) iris | iris4d)
basic_machine=mips-sgi basic_machine=mips-sgi
case $os in case $os in
@ -391,9 +565,17 @@ case $basic_machine in
basic_machine=ns32k-utek basic_machine=ns32k-utek
os=-sysv os=-sysv
;; ;;
mingw32)
basic_machine=i386-pc
os=-mingw32
;;
miniframe) miniframe)
basic_machine=m68000-convergent basic_machine=m68000-convergent
;; ;;
*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
basic_machine=m68k-atari
os=-mint
;;
mipsel*-linux*) mipsel*-linux*)
basic_machine=mipsel-unknown basic_machine=mipsel-unknown
os=-linux-gnu os=-linux-gnu
@ -408,10 +590,34 @@ case $basic_machine in
mips3*) mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;; ;;
mmix*)
basic_machine=mmix-knuth
os=-mmixware
;;
monitor)
basic_machine=m68k-rom68k
os=-coff
;;
msdos)
basic_machine=i386-pc
os=-msdos
;;
mvs)
basic_machine=i370-ibm
os=-mvs
;;
ncr3000) ncr3000)
basic_machine=i486-ncr basic_machine=i486-ncr
os=-sysv4 os=-sysv4
;; ;;
netbsd386)
basic_machine=i386-unknown
os=-netbsd
;;
netwinder)
basic_machine=armv4l-rebel
os=-linux
;;
news | news700 | news800 | news900) news | news700 | news800 | news900)
basic_machine=m68k-sony basic_machine=m68k-sony
os=-newsos os=-newsos
@ -424,6 +630,10 @@ case $basic_machine in
basic_machine=mips-sony basic_machine=mips-sony
os=-newsos os=-newsos
;; ;;
necv70)
basic_machine=v70-nec
os=-sysv
;;
next | m*-next ) next | m*-next )
basic_machine=m68k-next basic_machine=m68k-next
case $os in case $os in
@ -449,9 +659,32 @@ case $basic_machine in
basic_machine=i960-intel basic_machine=i960-intel
os=-nindy os=-nindy
;; ;;
mon960)
basic_machine=i960-intel
os=-mon960
;;
nonstopux)
basic_machine=mips-compaq
os=-nonstopux
;;
np1) np1)
basic_machine=np1-gould basic_machine=np1-gould
;; ;;
nsr-tandem)
basic_machine=nsr-tandem
;;
op50n-* | op60c-*)
basic_machine=hppa1.1-oki
os=-proelf
;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
os=-ose
;;
os68k)
basic_machine=m68k-none
os=-os68k
;;
pa-hitachi) pa-hitachi)
basic_machine=hppa1.1-hitachi basic_machine=hppa1.1-hitachi
os=-hiuxwe2 os=-hiuxwe2
@ -469,30 +702,28 @@ case $basic_machine in
pc532 | pc532-*) pc532 | pc532-*)
basic_machine=ns32k-pc532 basic_machine=ns32k-pc532
;; ;;
pentium | p5) pentium | p5 | k5 | k6 | nexgen)
basic_machine=i586-intel basic_machine=i586-pc
;; ;;
pentiumpro | p6) pentiumpro | p6 | 6x86 | athlon)
basic_machine=i686-intel basic_machine=i686-pc
;; ;;
pentium-* | p5-*) pentiumii | pentium2)
basic_machine=i686-pc
;;
pentium-* | p5-* | k5-* | k6-* | nexgen-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
pentiumpro-* | p6-*) pentiumpro-* | p6-* | 6x86-* | athlon-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
k5) pentiumii-* | pentium2-*)
# We don't have specific support for AMD's K5 yet, so just call it a Pentium basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=i586-amd
;;
nexen)
# We don't have specific support for Nexgen yet, so just call it a Pentium
basic_machine=i586-nexgen
;; ;;
pn) pn)
basic_machine=pn-gould basic_machine=pn-gould
;; ;;
power) basic_machine=rs6000-ibm power) basic_machine=power-ibm
;; ;;
ppc) basic_machine=powerpc-unknown ppc) basic_machine=powerpc-unknown
;; ;;
@ -507,12 +738,24 @@ case $basic_machine in
ps2) ps2)
basic_machine=i386-ibm basic_machine=i386-ibm
;; ;;
pw32)
basic_machine=i586-unknown
os=-pw32
;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
;;
rm[46]00) rm[46]00)
basic_machine=mips-siemens basic_machine=mips-siemens
;; ;;
rtpc | rtpc-*) rtpc | rtpc-*)
basic_machine=romp-ibm basic_machine=romp-ibm
;; ;;
sa29200)
basic_machine=a29k-amd
os=-udi
;;
sequent) sequent)
basic_machine=i386-sequent basic_machine=i386-sequent
;; ;;
@ -520,6 +763,10 @@ case $basic_machine in
basic_machine=sh-hitachi basic_machine=sh-hitachi
os=-hms os=-hms
;; ;;
sparclite-wrs)
basic_machine=sparclite-wrs
os=-vxworks
;;
sps7) sps7)
basic_machine=m68k-bull basic_machine=m68k-bull
os=-sysv2 os=-sysv2
@ -527,6 +774,13 @@ case $basic_machine in
spur) spur)
basic_machine=spur-unknown basic_machine=spur-unknown
;; ;;
st2000)
basic_machine=m68k-tandem
;;
stratus)
basic_machine=i860-stratus
os=-sysv4
;;
sun2) sun2)
basic_machine=m68000-sun basic_machine=m68000-sun
;; ;;
@ -567,10 +821,22 @@ case $basic_machine in
sun386 | sun386i | roadrunner) sun386 | sun386i | roadrunner)
basic_machine=i386-sun basic_machine=i386-sun
;; ;;
sv1)
basic_machine=sv1-cray
os=-unicos
;;
symmetry) symmetry)
basic_machine=i386-sequent basic_machine=i386-sequent
os=-dynix os=-dynix
;; ;;
t3e)
basic_machine=t3e-cray
os=-unicos
;;
tic54x | c54x*)
basic_machine=tic54x-unknown
os=-coff
;;
tx39) tx39)
basic_machine=mipstx39-unknown basic_machine=mipstx39-unknown
;; ;;
@ -588,6 +854,10 @@ case $basic_machine in
basic_machine=a29k-nyu basic_machine=a29k-nyu
os=-sym1 os=-sym1
;; ;;
v810 | necv810)
basic_machine=v810-nec
os=-none
;;
vaxv) vaxv)
basic_machine=vax-dec basic_machine=vax-dec
os=-sysv os=-sysv
@ -611,6 +881,18 @@ case $basic_machine in
basic_machine=a29k-wrs basic_machine=a29k-wrs
os=-vxworks os=-vxworks
;; ;;
w65*)
basic_machine=w65-wdc
os=-none
;;
w89k-*)
basic_machine=hppa1.1-winbond
os=-proelf
;;
windows32)
basic_machine=i386-pc
os=-windows32-msvcrt
;;
xmp) xmp)
basic_machine=xmp-cray basic_machine=xmp-cray
os=-unicos os=-unicos
@ -618,6 +900,10 @@ case $basic_machine in
xps | xps100) xps | xps100)
basic_machine=xps100-honeywell basic_machine=xps100-honeywell
;; ;;
z8k-*-coff)
basic_machine=z8k-unknown
os=-sim
;;
none) none)
basic_machine=none-none basic_machine=none-none
os=-none os=-none
@ -625,6 +911,15 @@ case $basic_machine in
# Here we handle the default manufacturer of certain CPU types. It is in # Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular. # some cases the only manufacturer, in others, it is the most popular.
w89k)
basic_machine=hppa1.1-winbond
;;
op50n)
basic_machine=hppa1.1-oki
;;
op60c)
basic_machine=hppa1.1-oki
;;
mips) mips)
if [ x$os = x-linux-gnu ]; then if [ x$os = x-linux-gnu ]; then
basic_machine=mips-unknown basic_machine=mips-unknown
@ -641,13 +936,20 @@ case $basic_machine in
vax) vax)
basic_machine=vax-dec basic_machine=vax-dec
;; ;;
pdp10)
# there are many clones, so DEC is not a safe bet
basic_machine=pdp10-unknown
;;
pdp11) pdp11)
basic_machine=pdp11-dec basic_machine=pdp11-dec
;; ;;
we32k) we32k)
basic_machine=we32k-att basic_machine=we32k-att
;; ;;
sparc) sh3 | sh4)
basic_machine=sh-unknown
;;
sparc | sparcv9 | sparcv9b)
basic_machine=sparc-sun basic_machine=sparc-sun
;; ;;
cydra) cydra)
@ -659,6 +961,19 @@ case $basic_machine in
orion105) orion105)
basic_machine=clipper-highlevel basic_machine=clipper-highlevel
;; ;;
mac | mpw | mac-mpw)
basic_machine=m68k-apple
;;
pmac | pmac-mpw)
basic_machine=powerpc-apple
;;
c4x*)
basic_machine=c4x-none
os=-coff
;;
*-unknown)
# Make sure to match an already-canonicalized machine name.
;;
*) *)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1 exit 1
@ -712,13 +1027,36 @@ case $os in
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -chorusos* | -chorusrdb* \
| -mingw32* | -linux-gnu* | -uxpv*) | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*)
# Remember, each alternative MUST END IN *, to match a version number. # Remember, each alternative MUST END IN *, to match a version number.
;; ;;
-qnx*)
case $basic_machine in
x86-* | i*86-*)
;;
*)
os=-nto$os
;;
esac
;;
-nto*)
os=-nto-qnx
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
;;
-linux*) -linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'` os=`echo $os | sed -e 's|linux|linux-gnu|'`
;; ;;
@ -728,6 +1066,12 @@ case $os in
-sunos6*) -sunos6*)
os=`echo $os | sed -e 's|sunos6|solaris3|'` os=`echo $os | sed -e 's|sunos6|solaris3|'`
;; ;;
-opened*)
os=-openedition
;;
-wince*)
os=-wince
;;
-osfrose*) -osfrose*)
os=-osfrose os=-osfrose
;; ;;
@ -743,12 +1087,18 @@ case $os in
-acis*) -acis*)
os=-aos os=-aos
;; ;;
-386bsd)
os=-bsd
;;
-ctix* | -uts*) -ctix* | -uts*)
os=-sysv os=-sysv
;; ;;
-ns2 ) -ns2 )
os=-nextstep2 os=-nextstep2
;; ;;
-nsk*)
os=-nsk
;;
# Preserve the version number of sinix5. # Preserve the version number of sinix5.
-sinix5.*) -sinix5.*)
os=`echo $os | sed -e 's|sinix|sysv|'` os=`echo $os | sed -e 's|sinix|sysv|'`
@ -774,9 +1124,18 @@ case $os in
# This must come after -sysvr4. # This must come after -sysvr4.
-sysv*) -sysv*)
;; ;;
-ose*)
os=-ose
;;
-es1800*)
os=-ose
;;
-xenix) -xenix)
os=-xenix os=-xenix
;; ;;
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
os=-mint
;;
-none) -none)
;; ;;
*) *)
@ -802,9 +1161,15 @@ case $basic_machine in
*-acorn) *-acorn)
os=-riscix1.2 os=-riscix1.2
;; ;;
arm*-rebel)
os=-linux
;;
arm*-semi) arm*-semi)
os=-aout os=-aout
;; ;;
pdp10-*)
os=-tops20
;;
pdp11-*) pdp11-*)
os=-none os=-none
;; ;;
@ -823,15 +1188,36 @@ case $basic_machine in
# default. # default.
# os=-sunos4 # os=-sunos4
;; ;;
m68*-cisco)
os=-aout
;;
mips*-cisco)
os=-elf
;;
mips*-*)
os=-elf
;;
*-tti) # must be before sparc entry or we get the wrong os. *-tti) # must be before sparc entry or we get the wrong os.
os=-sysv3 os=-sysv3
;; ;;
sparc-* | *-sun) sparc-* | *-sun)
os=-sunos4.1.1 os=-sunos4.1.1
;; ;;
*-be)
os=-beos
;;
*-ibm) *-ibm)
os=-aix os=-aix
;; ;;
*-wec)
os=-proelf
;;
*-winbond)
os=-proelf
;;
*-oki)
os=-proelf
;;
*-hp) *-hp)
os=-hpux os=-hpux
;; ;;
@ -892,9 +1278,21 @@ case $basic_machine in
*-masscomp) *-masscomp)
os=-rtu os=-rtu
;; ;;
f301-fujitsu) f30[01]-fujitsu | f700-fujitsu)
os=-uxpv os=-uxpv
;; ;;
*-rom68k)
os=-coff
;;
*-*bug)
os=-coff
;;
*-apple)
os=-macos
;;
*-atari*)
os=-mint
;;
*) *)
os=-none os=-none
;; ;;
@ -916,9 +1314,15 @@ case $basic_machine in
-aix*) -aix*)
vendor=ibm vendor=ibm
;; ;;
-beos*)
vendor=be
;;
-hpux*) -hpux*)
vendor=hp vendor=hp
;; ;;
-mpeix*)
vendor=hp
;;
-hiux*) -hiux*)
vendor=hitachi vendor=hitachi
;; ;;
@ -934,7 +1338,7 @@ case $basic_machine in
-genix*) -genix*)
vendor=ns vendor=ns
;; ;;
-mvs*) -mvs* | -opened*)
vendor=ibm vendor=ibm
;; ;;
-ptx*) -ptx*)
@ -946,9 +1350,26 @@ case $basic_machine in
-aux*) -aux*)
vendor=apple vendor=apple
;; ;;
-hms*)
vendor=hitachi
;;
-mpw* | -macos*)
vendor=apple
;;
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
vendor=atari
;;
esac esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
;; ;;
esac esac
echo $basic_machine$os echo $basic_machine$os
exit 0
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:

4891
configure vendored

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,6 @@
dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
AC_INIT(bvi.c) AC_INIT
AC_CONFIG_SRCDIR([bvi.c])
AC_CONFIG_HEADER(config.h) AC_CONFIG_HEADER(config.h)
AC_CANONICAL_HOST AC_CANONICAL_HOST
@ -10,6 +11,7 @@ case "$host_os" in
sunos4*) sunos4*)
AC_MSG_RESULT("using /usr/5bin/cc") AC_MSG_RESULT("using /usr/5bin/cc")
CC="/usr/5bin/cc" CC="/usr/5bin/cc"
ac_objext="o"
;; ;;
*) *)
AC_PROG_CC AC_PROG_CC
@ -39,7 +41,6 @@ AC_CHECK_SIZEOF(void *)
AC_CHECK_TYPE(size_t, unsigned int) AC_CHECK_TYPE(size_t, unsigned int)
AC_CHECK_TYPE(off_t, int) AC_CHECK_TYPE(off_t, int)
AC_CHECK_TYPE(mode_t, u_short)
dnl Checks for header files. dnl Checks for header files.
AC_HEADER_STDC AC_HEADER_STDC
@ -74,15 +75,9 @@ dnl AC_TYPE_SIZE_T
dnl Checks for library functions. dnl Checks for library functions.
dnl AC_TYPE_SIGNAL dnl AC_TYPE_SIGNAL
AC_CHECK_FUNCS(strdup strtol memmove) AC_CHECK_FUNCS(strdup strtol strerror memmove)
AC_EGREP_HEADER(sys_errlist, stdio.h, errl=ok, errl=no)
AC_EGREP_HEADER(sys_errlist, errno.h, errl=ok,)
AC_EGREP_HEADER(sys_errlist, sys/types.h, errl=ok,)
if test $errl = no; then
AC_DEFINE(NO_SYSERRL)
fi
AC_PROG_INSTALL AC_PROG_INSTALL
AC_OUTPUT(Makefile) AC_CONFIG_FILES([Makefile])
AC_OUTPUT

11
edit.c
View file

@ -7,8 +7,9 @@
* 1999-10-30 V 1.2.0 final * 1999-10-30 V 1.2.0 final
* 2000-05-14 V 1.3.0 alpha * 2000-05-14 V 1.3.0 alpha
* 2000-07-15 V 1.3.0 final * 2000-07-15 V 1.3.0 final
* 2001-12-07 V 1.3.1
* *
* Copyright 1996-2000 by Gerhard Buergmann * Copyright 1996-2001 by Gerhard Buergmann
* Gerhard.Buergmann@altavista.net * Gerhard.Buergmann@altavista.net
* *
* This program is free software; you can redistribute it and/or modify it * This program is free software; you can redistribute it and/or modify it
@ -111,7 +112,7 @@ edit(mode)
setcur(); setcur();
continue; continue;
} }
if (ch == KEY_BACKSPACE || ch == CTRL('H')) { if (ch == KEY_BACKSPACE || ch == BVICTRL('H')) {
if (count > 0) { if (count > 0) {
len--; len--;
count--; count--;
@ -142,7 +143,7 @@ edit(mode)
ch1 = -1; ch1 = -1;
} }
} while (ch1 == -1); } while (ch1 == -1);
rep_buf[len++] = ch; rep_buf[len++] = ch1;
mvaddch(y, x + 1, ch1); mvaddch(y, x + 1, ch1);
sprintf(tmpbuf, "%c%c", ch, ch1); sprintf(tmpbuf, "%c%c", ch, ch1);
sscanf(tmpbuf, "%2x", &ch); sscanf(tmpbuf, "%2x", &ch);
@ -747,7 +748,7 @@ do_delete(n, start)
memmove(start, start + undo_count, maxpos - (start + undo_count)); memmove(start, start + undo_count, maxpos - (start + undo_count));
filesize -= undo_count; filesize -= undo_count;
maxpos -= undo_count; maxpos -= undo_count;
if (start == maxpos) { if (start == maxpos && start > mem) {
start--; start--;
cur_back(); cur_back();
} }
@ -893,5 +894,5 @@ do_mark(mark, addr)
void void
movebyte() movebyte()
{ {
emsg("Command disabled@- use ':set memmove' to enable"); emsg("Command disabled@- use ':set memmove' to enable ");
} }

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI: bmore</title> <title>BVI: bmore</title>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">
@ -7,7 +7,7 @@
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center"> <tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1"> <img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%"> <hr noshade width="60%">
<p> <p>
@ -37,7 +37,7 @@
<hr noshade width="60%"> <hr noshade width="60%">
</td> </td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td> <td width="1%"><img src="gif/dot.gif" width="40" height="1" alt=""></td>
<td width="99%"> <td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0"> <table width="100%" cellspacing="0" cellpadding="0" border="0">
@ -54,14 +54,14 @@ height="62" border="0"></a>
</td></tr></table> </td></tr></table>
<p> <p>
<STRONG>bmore</STRONG> is a filter that displays the contents of a binary <strong>bmore</strong> is a filter that displays the contents of a binary
file on the terminal, one screenful at a time. It normally pauses after each file on the terminal, one screenful at a time. It normally pauses after each
screenful, and prints <B>--More--</B> at the bottom of the screen. screenful, and prints <b>--More--</b> at the bottom of the screen.
<STRONG>bmore</STRONG> provides a two-line over­ lap between screens for <strong>bmore</strong> provides a two-line over­ lap between screens for
continuity. If bmore is reading from a file rather than a pipe, continuity. If bmore is reading from a file rather than a pipe,
the percentage of characters displayed so far is also shown. the percentage of characters displayed so far is also shown.
<P> <p>
<STRONG>bmore</STRONG> scrolls up to display one more screen line in <strong>bmore</strong> scrolls up to display one more screen line in
response to a RETURN character; it displays another response to a RETURN character; it displays another
screenful in response to a SPACE character. Other commands are listed below. screenful in response to a SPACE character. Other commands are listed below.
<P> <P>
@ -74,8 +74,8 @@ screen line. Note that (as one would expect) the first
byte has the offset 0 (zero). byte has the offset 0 (zero).
<P> <P>
<center> <center>
<TABLE WIDTH="10" CELLSPACING="0" CELLPADDING="0" BORDER="0"> <table width="10" cellspacing="0" cellpadding="0" border="0">
<TR><TD BGCOLOR=#ffccff><PRE CLASS="examp"> <tr><td bgcolor="#ffccff"><pre class="examp">
000000 000000
00000C 00000C
000018 000018
@ -90,7 +90,7 @@ byte has the offset 0 (zero).
000178 000178
000184 000184
000190 000190
00009C</PRE></TD><TD BGCOLOR=#ccffcc><PRE CLASS="examp"> 00009C</pre></td><td bgcolor="#ccffcc"><pre class="examp">
7F 45 4C 46 01 01 7F 45 4C 46 01 01
00 00 00 00 01 00 00 00 00 00 01 00
00 00 00 00 00 00 00 00 00 00 00 00
@ -105,7 +105,7 @@ byte has the offset 0 (zero).
45 08 50 E8 FC FF 45 08 50 E8 FC FF
0C 85 D2 75 17 6A 0C 85 D2 75 17 6A
E9 43 02 00 00 8D E9 43 02 00 00 8D
0C 85 D2 75 0D C7</PRE></TD><TD BGCOLOR=#ccffcc><PRE CLASS="examp"> 0C 85 D2 75 0D C7</pre></td><td bgcolor="#ccffcc"><pre class="examp">
01 00 00 00 00 00 01 00 00 00 00 00
03 00 01 00 00 00 03 00 01 00 00 00
00 00 0C 07 00 00 00 00 0C 07 00 00
@ -120,7 +120,7 @@ byte has the offset 0 (zero).
FF FF 89 C2 83 C4 FF FF 89 C2 83 C4
01 E8 60 02 00 00 01 E8 60 02 00 00
74 26 00 8D BC 27 74 26 00 8D BC 27
45 A0 00 00 00 00</PRE></TD><TD BGCOLOR=#FFCCCC><PRE CLASS="examp"> 45 A0 00 00 00 00</pre></td><td bgcolor="#ffcccc"><pre class="examp">
.ELF........ .ELF........
............ ............
............ ............
@ -135,12 +135,12 @@ byte has the offset 0 (zero).
E.P......... E.P.........
...u.j..`... ...u.j..`...
.C....t&...' .C....t&...'
...u..E.....</PRE></TD></TR> ...u..E.....</pre></td></tr>
<TR BGCOLOR=#FFFFCC><TD COLSPAN=4 CLASS="examp"> <tr bgcolor="#ffffcc"><td colspan="4" class="examp">
<font class="inv">--More--(5%) </font> <font class="inv">--More--(5%) </font>
</TD></TR> </td></tr>
</TABLE> </table>
</CENTER> </center>
<p> <p>
Equal lines will only displayed once, a star (*) is the placeholder Equal lines will only displayed once, a star (*) is the placeholder
for one or more lines equal to the line above. for one or more lines equal to the line above.

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI: Commands</title> <title>BVI: Commands</title>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">
@ -7,7 +7,7 @@
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center"> <tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1"> <img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%"> <hr noshade width="60%">
<p> <p>
@ -37,7 +37,7 @@
<hr noshade width="60%"> <hr noshade width="60%">
</td> </td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td> <td width="1%"><img src="gif/dot.gif" width="40" height="1" alt=""></td>
<td width="99%"> <td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0"> <table width="100%" cellspacing="0" cellpadding="0" border="0">

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI: Command Line Options</title> <title>BVI: Command Line Options</title>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">
@ -7,7 +7,7 @@
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center"> <tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1"> <img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%"> <hr noshade width="60%">
<p> <p>
@ -37,7 +37,7 @@
<hr noshade width="60%"> <hr noshade width="60%">
</td> </td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td> <td width="1%"><img src="gif/dot.gif" width="40" height="1" alt=""></td>
<td width="99%"> <td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0"> <table width="100%" cellspacing="0" cellpadding="0" border="0">

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI: Download Page</title> <title>BVI: Download Page</title>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">
@ -7,7 +7,7 @@
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center"> <tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1"> <img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%"> <hr noshade width="60%">
<p> <p>
@ -18,6 +18,7 @@
</p> </p>
<p> <p>
<font color="#ffffff" class="thl">Download<br></font> <font color="#ffffff" class="thl">Download<br></font>
<a class="ths" href="new131.html">New in 1.3.1</a><br>
<a class="ths" href="new130.html">New in 1.3.0</a><br> <a class="ths" href="new130.html">New in 1.3.0</a><br>
<a class="ths" href="new120.html">New in 1.2.0</a><br> <a class="ths" href="new120.html">New in 1.2.0</a><br>
</p> </p>
@ -36,7 +37,7 @@
<hr noshade width="60%"> <hr noshade width="60%">
</td> </td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td> <td width="1%"><img src="gif/dot.gif" width="40" height="1" alt=""></td>
<td width="99%"> <td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0"> <table width="100%" cellspacing="0" cellpadding="0" border="0">
@ -54,45 +55,33 @@ height="62" border="0"></a>
<p> <p>
NOTE: All packages are compressed with the GNU gzip program. You NOTE: All packages are compressed with the GNU gzip program. You
can download it from <A HREF="ftp://ftp.gnu.org/gnu/gzip/">ftp://ftp.gnu.org/gnu/gzip/</A>. can download it from <a href="ftp://ftp.gnu.org/gnu/gzip/">ftp://ftp.gnu.org/gnu/gzip/</a>.
<P> <p>
Current stable release of bvi is <B>1.3.0</B> Current stable release of bvi is <b>1.3.1</b>
(Check out what's <A HREF="new130.html">new</A>): (Check out what's <a href="new131.html">new</a>):
<P> <p>
<H3>Sources</H3> <h3>Sources</h3>
<UL> <ul>
<LI><A HREF="http://bvi.linuxave.net/download/bvi-1.3.0.src.tar.gz">bvi-1.3.0.src.tar.gz</A> <li><a href="http://download.sourceforge.net/bvi/bvi-1.3.1.src.tar.gz">bvi-1.3.1.src.tar.gz</a>
&nbsp; (147284 bytes) &nbsp; (168k)</li>
<LI><A HREF="http://bvi.linuxave.net/download/bvi-1.3.0.lsm">bvi-1.3.0.lsm</A> <li><a href="http://download.sourceforge.net/bvi/bvi-1.3.0.src.tar.gz">bvi-1.3.0.src.tar.gz</a>
&nbsp; (645 bytes)<P> &nbsp; (144k)</li>
<LI><A HREF="http://bvi.linuxave.net/download/bvi-1.1.1.src.tar.gz">bvi-1.1.1.src.tar.gz</A>
&nbsp; (46168 bytes) </ul>
</UL> <h3>Executables</h3>
<H3>Executables</H3> <ul>
<UL> <li>Linux: &nbsp; <a href="http://download.sourceforge.net/bvi/bvi-1.3.1-linux_static_elf.tar.gz">bvi-1.3.1-linux_static_elf.tar.gz</a>
<LI>Linux: &nbsp; <A HREF="http://bvi.linuxave.net/download/bvi-1.3.0-linux_static_elf.gz">bvi-1.3.0-linux_static_elf.gz</A> &nbsp; (338k)</li>
&nbsp; (109917 bytes) <li>Linux: &nbsp; <a href="http://download.sourceforge.net/bvi/bvi-1.3.0-linux_static_elf.tar.gz">bvi-1.3.0-linux_static_elf.tar.gz</a>
<LI>SunOS 4.1.3_U1: &nbsp; <A HREF="http://bvi.linuxave.net/download/bvi-1.3.0-sun4.gz">bvi-1.3.0-sun4.gz</A> &nbsp; (338k)</li>
&nbsp; (59357 bytes) </ul>
<LI>Solaris 2.6: &nbsp;<A HREF="http://bvi.linuxave.net/download/bvi-1.3.0-solaris.gz">bvi-1.3.0-solaris.gz</A>
&nbsp; (61368 bytes)
<LI>AIX 4.1: &nbsp;<A HREF="download/bvi-1.2.0-aix.gz">bvi-1.2.0-aix.gz</A>
&nbsp; (29095 bytes)
<LI>IRIX 6.5.5: &nbsp;<A HREF="http://bvi.linuxave.net/download/bvi-1.2.0-irix.gz">bvi-1.2.0-irix.gz</A>
&nbsp; (33888 bytes)
<LI>HP-UX B.10.20: &nbsp;<A HREF="http://bvi.linuxave.net/download/bvi-1.2.0-hpux.gz">bvi-1.2.0-hpux.gz</A>
&nbsp; (36175 bytes)
<LI>MSDOS: &nbsp;<A HREF="http://bvi.linuxave.net/download/bvi120.zip">bvi120.zip</A>
&nbsp; (43233 bytes)<P>
<LI>MSDOS: &nbsp; <A HREF="http://bvi.linuxave.net/download/bvi110.zip">bvi110.zip</A>
&nbsp; (44690 bytes)<P>
</UL>
<p><font size="-1"> <p><font size="-1">
<a class="btop" href="#top"> <a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif" <img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a> alt="Back to the top">Back to the top</a>
</font> </font>
<hr noshade> <hr noshade>
<i>Last update: October 23<sup>rd</sup> 22:36:45 CEST 2000 by Gerhard B&uuml;rgmann</i> <i>Last update: February 12<sup>th</sup> 2002 by Gerhard B&uuml;rgmann</i>
</td></tr></table> </td></tr></table>
</body></html> </body></html>

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI: Deutsche Beschreibung</title> <title>BVI: Deutsche Beschreibung</title>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">
@ -7,7 +7,7 @@
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center"> <tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1"> <img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%"> <hr noshade width="60%">
<p> <p>
@ -34,7 +34,7 @@
<hr noshade width="60%"> <hr noshade width="60%">
</td> </td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td> <td width="1%"><img src="gif/dot.gif" width="40" height="1" alt=""></td>
<td width="99%"> <td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0"> <table width="100%" cellspacing="0" cellpadding="0" border="0">

5
html/gif/.xvpics/bg2.gif Normal file
View file

@ -0,0 +1,5 @@
P7 332
#IMGINFO:1600x1 Indexed (91 bytes)
#END_OF_COMMENTS
80 1 255
I$IIÛ¶¶¶IH%IÛ¶¶Ú%HI%Û¶Ú¶%HII·Ú¶¶%HIIÛ¶¶¶I$IIÛ¶¶Û$I$IÛ¶Ú·$IH%Û¶Ú·$IHI·Ú¶·H%HIÛ¶¶·

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 B

After

Width:  |  Height:  |  Size: 91 B

View file

@ -1,23 +1,23 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI Home Page</title> <title>BVI - Binary VIsual editor</title>
<script language="JavaScript"> <script language="JavaScript">
<!-- <!--
if(top.frames.length!=0){top.location=location;}// --> if(top.frames.length!=0){top.location=location;}// -->
</script> </script>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">
<meta name="description" content="Bvi stands for Binary VIsual editor. <meta name="description" content="Bvi stands for Binary VIsual editor.
Bvi is a display oriented editor for binary files. Bvi is a display oriented editor for binary files.
Its command set is based on those of the vi texteditor."> Its command set is based on those of the vi texteditor.">
<meta name="keywords" content="bvi, editor, binary, bmore, decimal, dos, hex, <meta name="keywords" content="bvi, editor, binary, bmore, decimal, hex,
hexadecimal, linux, msdos, octal, patch, more, unix, visual, vi"> hexadecimal, linux, octal, patch, more, unix, solaris, sunos, visual, vi">
<meta name="robots" content="INDEX,FOLLOW"> <meta name="robots" content="INDEX,FOLLOW">
<meta name="author" content="Gerhard Buergmann"> <meta name="author" content="Gerhard Buergmann">
<meta name="publisher" content="Gerhard Buergmann"> <meta name="publisher" content="Gerhard Buergmann">
</head><body bgcolor="#ffffff" background="gif/bg2.gif"> </head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a> <a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><th width="1%" valign="top"><img src="gif/dot.gif" width="130" height="1"> <tr><th width="1%" valign="top"><img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%"> <hr noshade width="60%">
@ -62,13 +62,16 @@ Hex-Editors
<hr noshade width="60%"> <hr noshade width="60%">
<p> <p>
<a href="http://sourceforge.net">
<img src="http://sourceforge.net/sflogo.php?group_id=16427&type=1" width="88" height="31" border="0" alt="SourceForge Logo"></a>
</p>
</TH> </TH>
<td width=1%><img src="gif/dot.gif" width="40" height="1"></td> <td width=1%><img src="gif/dot.gif" width="40" height="1" alt=""></td>
<td width=99%> <td width=99%>
<center> <center>
<h1>Welcome to the<br> <h1>Welcome to the<br>
<img src="gif/bvi_m.gif" ALT="bvi" width="232" height="125"><br> <img src="gif/bvi_m.gif" alt="bvi" width="232" height="125"><br>
Homepage</h1> Homepage</h1>
<b>Here you can find all the informations about <strong>bvi</strong> you need.</B> <b>Here you can find all the informations about <strong>bvi</strong> you need.</B>
</center> </center>
@ -81,31 +84,31 @@ If you never heard about <strong>vi</strong>, maybe <strong>bvi</strong> is not
choice for you. choice for you.
<p> <p>
<h3>Original site: <a href="http://bvi.linuxave.net/">http://bvi.linuxave.net</a></h3> <h3>Original site: <a href="http://bvi.sourceforge.net/">http://bvi.sourceforge.net</a></h3>
</p>
You can download source and compiled versions from the You can download source and compiled versions from the
<a href="download.html">download page</a>.<br> <a href="download.html">download page</a>.<br>
Check out whats <a href="new130.html">new in 1.3.0</a>! Check out whats <a href="new131.html">new in 1.3.1</a>!
</p>
<p> <p>
<b>Newsgroup:</b> <a href="news:comp.editors">comp.editors</a> <b>Newsgroup:</b> <a href="news:comp.editors">comp.editors</a>
</p>
<p>
<b>Mailing List:</b> <b>Mailing List:</b>
<blockquote> <blockquote>
To join this list, simply send a blank email to To join this list, simply send a blank email to
<a href="mailto:bvi-subscribe@egroups.com">bvi-subscribe@eGroups.com</a>. <a href="mailto:bvi-subscribe@yahoogroups.com">bvi-subscribe@yahoogroups.com</a>.
You will receive a subscription confirmation message. You will receive a subscription confirmation message.
Simply reply this message and your subscription will be complete. Simply reply this message and your subscription will be complete.
</blockquote> </blockquote>
<strong>Bvi</strong> was developed by Gerhard B&uuml;rgmann and is published <strong>Bvi</strong> was developed by Gerhard B&uuml;rgmann and is published
under the GNU Public License. Current stable version is 1.3.0. under the GNU Public License. Current stable version is 1.3.1.
<strong>Bvi</strong> is running on most UNIX - like operating systems and <strong>Bvi</strong> is running on most UNIX - like operating systems and
on MSDOS. on MSDOS.
<p> <p>
If you want to contact me:<br> If you want to contact me:<br>
Gerhard B&uuml;rgmann, Vienna / Austria / Europe<br> Gerhard B&uuml;rgmann, Vienna ( <a href="http://www.purkersdorf-online.at/">Purkersdorf</a> ) / Austria / Europe<br>
Email: <a href="mailto:gerhard.buergmann@altavista.net"> E-mail: <a href="mailto:gerhard.buergmann@altavista.net">
Gerhard.Buergmann@altavista.net</a> Gerhard.Buergmann@altavista.net</a>
<p> <p>
@ -115,7 +118,7 @@ Gerhard.Buergmann@altavista.net</a>
alt="Back to the top">Back to the top</a> alt="Back to the top">Back to the top</a>
</font> </font>
<hr noshade> <hr noshade>
<i>Last update: October 23<sup>rd</sup> 2000 by Gerhard B&uuml;rgmann</i> <i>Last update: February 12<sup>th</sup> 2002 by Gerhard B&uuml;rgmann</i>
</p> </p>
</td></tr></table> </td></tr></table>

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI: Installation</title> <title>BVI: Installation</title>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">
@ -7,7 +7,7 @@
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center"> <tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1"> <img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%"> <hr noshade width="60%">
<p> <p>
@ -52,20 +52,20 @@ height="62" border="0"></a>
<p> <p>
The following steps are necessary to get bvi running: The following steps are necessary to get bvi running:
<H2>UNIX</H2> <h2>UNIX</h2>
The Unix version of bvi needs the curses (ncurses) library The Unix version of bvi needs the curses (ncurses) library
for cursor movement. for cursor movement.
<OL> <ol>
<LI>Download the source package from the Download Page <li>Download the source package from the Download Page</li>
<LI>Unzip the package with the command: <li>Unzip the package with the command:</li>
<PRE CLASS="examp"> <pre class="examp">
# gunzip -c bvi-1.3.0.src.tar.gz | tar xvf # gunzip -c bvi-1.3.1.src.tar.gz | tar xvf
</PRE> </pre>
<LI>Change to the directory <TT CLASS="examp">bvi-1.3.0</TT> and type <li>Change to the directory <tt class="examp">bvi-1.3.1</tt> and type
<PRE CLASS="examp"> <pre class="examp">
# ./configure # ./configure
# make # make
</PRE> </pre></li>
<li>Type `<tt class="examp">make install</tt>' for copying the executable files <li>Type `<tt class="examp">make install</tt>' for copying the executable files
and manual pages to the final directories. and manual pages to the final directories.
@ -86,45 +86,47 @@ You will find now four new commands:
bview The readonly version of bvi bview The readonly version of bvi
bedit The beginners version of bvi bedit The beginners version of bvi
bmore The binary more program bmore The binary more program
</pre> </pre></li>
<li>Use `<tt class="examp">make uninstall</tt>' to remove the installed <li>Use `<tt class="examp">make uninstall</tt>' to remove the installed
files from your file system.<br> files from your file system.<br>
You can remove the program binaries and object files from the You can remove the program binaries and object files from the
source code directory by typing `<tt class="examp">make clean</tt>'. source code directory by typing `<tt class="examp">make clean</tt>'.
To also remove the files that `<TT CLASS="examp">configure</tt>' created To also remove the files that `<TT CLASS="examp">configure</tt>' created
(so you can compile the package for (so you can compile the package for
a different kind of computer), type `<tt class="examp">make distclean</tt>'. a different kind of computer), type `<tt class="examp">make distclean</tt>'. </li>
</ol> </ol>
<H2>MSDOS</H2> <h2>MSDOS</h2>
You have to convert the sourcefiles from the UNIX textformat to You have to convert the sourcefiles from the UNIX textformat to
the MSDOS textformat first. This can be done e.g. by loading and the MSDOS textformat first. This can be done e.g. by loading and
saving them with the MSDOS standard editor `edit'. saving them with the MSDOS standard editor `edit'.
<P> <p>
The MSDOS version is using the conio routines of the The MSDOS version is using the conio routines of the
Borland - C compilers for cursor movement. The <TT>doscur.h</TT> Borland - C compilers for cursor movement. The <tt>doscur.h</tt>
header file substitutes the curses commands.<BR> header file substitutes the curses commands.<br>
<strong>Bvi</strong> is using the "HUGE" memory model, <strong>bmore</strong> <strong>Bvi</strong> is using the "HUGE" memory model, <strong>bmore</strong>
needs the "TINY" model to needs the "TINY" model to
be able to convert it to a .COM file. be able to convert it to a .COM file.
<OL> <ol>
<LI>Download the source package from the Download Page <li>Download the source package from the Download Page</li>
<LI>Unzip the package with the command: <li>Unzip the package with the command:
<PRE CLASS="examp"> <pre class="examp">
gunzip -c bvi-1.3.0.src.tar.gz | tar xvf gunzip -c bvi-1.3.1.src.tar.gz | tar xvf
</PRE> </pre></li>
<LI> Load the tcconfig file (located in the <TT>bc</TT> subdirectory <li> Load the tcconfig file (located in the <TT>bc</TT> subdirectory
for Borland - C). for Borland - C).</li>
<LI> Press F9-Make <li> Press F9-Make</li>
</OL> </ol>
The MSDOS version exists for historical reasons and is not really
supported anymore.
<p><font size="-1"> <p><font size="-1">
<a class="btop" href="#top"> <a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif" <img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a> alt="Back to the top">Back to the top</a>
</font> </font>
<hr noshade> <hr noshade>
<i>Last update: Thu Oct 19 21:31:04 CEST 2000 by Gerhard B&uuml;rgmann</i> <i>Last update: February 12<sup>th</sup> 2002 by Gerhard B&uuml;rgmann</i>
</td></tr></table> </td></tr></table>
</body></html> </body></html>

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI: CHANGES in bvi 1.2.0</title> <title>BVI: CHANGES in bvi 1.2.0</title>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">
@ -7,7 +7,7 @@
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center"> <tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1"> <img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%"> <hr noshade width="60%">
<p> <p>
@ -18,6 +18,7 @@
</p> </p>
<p> <p>
<a class="thl" href="download.html">Download</a><br> <a class="thl" href="download.html">Download</a><br>
<a class="ths" href="new131.html">New in 1.3.1</a><br>
<a class="ths" href="new130.html">New in 1.3.0</a><br> <a class="ths" href="new130.html">New in 1.3.0</a><br>
<font color="#ffffff" class="ths">New in 1.2.0<br></font> <font color="#ffffff" class="ths">New in 1.2.0<br></font>
</p> </p>
@ -36,7 +37,7 @@
<hr noshade width="60%"> <hr noshade width="60%">
</td> </td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td> <td width="1%"><img src="gif/dot.gif" width="40" height="1" alt=""></td>
<td width="99%"> <td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0"> <table width="100%" cellspacing="0" cellpadding="0" border="0">
@ -53,11 +54,11 @@ height="62" border="0"></a>
</td></tr></table> </td></tr></table>
<p> <p>
<UL> <ul>
<LI>Configuration with GNU autoconfig <li>Configuration with GNU autoconfig
<LI>New <B>:set</B> options: <li>New <b>:set</b> options:
<UL> <ul>
<LI><B>:set columns=n</B><BR> <li><b>:set columns=n</b><br>
You can set the number of columns on the screen to an You can set the number of columns on the screen to an
arbitrary value. This might be useful if you edit a file arbitrary value. This might be useful if you edit a file
with a fixed record length.<BR> with a fixed record length.<BR>

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI: CHANGES in bvi 1.3.0</title> <title>BVI: CHANGES in bvi 1.3.0</title>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">
@ -7,7 +7,7 @@
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center"> <tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1"> <img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%"> <hr noshade width="60%">
<p> <p>
@ -18,6 +18,7 @@
</p> </p>
<p> <p>
<a class="thl" href="download.html">Download</a><br> <a class="thl" href="download.html">Download</a><br>
<a class="ths" href="new131.html">New in 1.3.1</a><br>
<font color="#ffffff" class="ths">New in 1.3.0<br></font> <font color="#ffffff" class="ths">New in 1.3.0<br></font>
<a class="ths" href="new120.html">New in 1.2.0</a><br> <a class="ths" href="new120.html">New in 1.2.0</a><br>
</p> </p>
@ -36,7 +37,7 @@
<hr noshade width="60%"> <hr noshade width="60%">
</td> </td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td> <td width="1%"><img src="gif/dot.gif" width="40" height="1" alt=""></td>
<td width="99%"> <td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0"> <table width="100%" cellspacing="0" cellpadding="0" border="0">

96
html/new131.html Normal file
View file

@ -0,0 +1,96 @@
<!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: CHANGES in bvi 1.3.1</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
</p>
<p>
<a class="thl" href="download.html">Download</a><br>
<font color="#ffffff" class="ths">New in 1.3.1<br></font>
<a class="ths" href="new130.html">New in 1.3.0</a><br>
<a class="ths" href="new120.html">New in 1.2.0</a><br>
</p>
<p>
<a class="thl" href="install.html">Installation</a><br>
</p>
<p>
<a class="thl" href="overview.html">Command Overview</a><br>
</p>
<p>
<a class="thl" href="bmore.html">bmore</a><br>
</p>
<p>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1" alt=""></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">CHANGES in bvi 1.3.1</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
This is a bugfix release.
<p>
<b><font color="red">BVI:</font></b>
<ul>
<li> autoconf 2.52 used
<p>
<li> do_back() fixed (cast)</li>
<p>
<li> replace sys_errlist[errno] with strerror(errno) (Debian #106762)</li>
<p>
<li> fix: one can continue deleting bytes even when file is empty (Debian #121934)</li>
<p>
<li> wish: no ":set mm" to delete bytes from end of file (Debian #122240)</li>
<p>
<li> cast for alloc_buf() in set.c</li>
<p>
<li> r-bug fix in edit.c and bvi.c</li>
<p>
<li> renamed CTRL to BVICTRL (AIX problem)</li>
<p>
</ul>
<b><font color="red">BMORE:</font></b></li>
<ul>
<li>nicer last line</li>
<p>
<li>bmbeep() instead of beep() (SOLARIS problem)</li>
<p>
<li>subshell support fixes</li>
</ul>
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: February 12<sup>th</sup> 2002 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI: Command Overview</title> <title>BVI: Command Overview</title>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">
@ -7,7 +7,7 @@
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center"> <tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1"> <img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%"> <hr noshade width="60%">
<p> <p>
@ -40,7 +40,7 @@
<hr noshade width="60%"> <hr noshade width="60%">
</td> </td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td> <td width="1%"><img src="gif/dot.gif" width="40" height="1" alt=""></td>
<td width="99%"> <td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0"> <table width="100%" cellspacing="0" cellpadding="0" border="0">

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI: Bit-wise Operations</title> <title>BVI: Bit-wise Operations</title>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI: Editing Files</title> <title>BVI: Editing Files</title>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">
@ -7,7 +7,7 @@
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center"> <tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1"> <img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%"> <hr noshade width="60%">
<p> <p>
@ -41,7 +41,7 @@
<hr noshade width="60%"> <hr noshade width="60%">
</td> </td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td> <td width="1%"><img src="gif/dot.gif" width="40" height="1" alt=""></td>
<td width="99%"> <td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0"> <table width="100%" cellspacing="0" cellpadding="0" border="0">

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI: Find and Replace</title> <title>BVI: Find and Replace</title>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">
@ -7,7 +7,7 @@
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center"> <tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1"> <img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%"> <hr noshade width="60%">
<p> <p>
@ -41,7 +41,7 @@
<hr noshade width="60%"> <hr noshade width="60%">
</td> </td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td> <td width="1%"><img src="gif/dot.gif" width="40" height="1" alt=""></td>
<td width="99%"> <td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0"> <table width="100%" cellspacing="0" cellpadding="0" border="0">

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI: Partial File Read</title> <title>BVI: Partial File Read</title>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">
@ -7,7 +7,7 @@
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center"> <tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1"> <img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%"> <hr noshade width="60%">
<p> <p>
@ -41,7 +41,7 @@
<hr noshade width="60%"> <hr noshade width="60%">
</td> </td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td> <td width="1%"><img src="gif/dot.gif" width="40" height="1" alt=""></td>
<td width="99%"> <td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0"> <table width="100%" cellspacing="0" cellpadding="0" border="0">

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI: Search Commands</title> <title>BVI: Search Commands</title>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">
@ -7,7 +7,7 @@
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center"> <tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1"> <img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%"> <hr noshade width="60%">
<p> <p>
@ -41,7 +41,7 @@
<hr noshade width="60%"> <hr noshade width="60%">
</td> </td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td> <td width="1%"><img src="gif/dot.gif" width="40" height="1" alt=""></td>
<td width="99%"> <td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0"> <table width="100%" cellspacing="0" cellpadding="0" border="0">

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI: Settings</title> <title>BVI: Settings</title>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">
@ -7,7 +7,7 @@
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center"> <tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1"> <img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%"> <hr noshade width="60%">
<p> <p>
@ -41,7 +41,7 @@
<hr noshade width="60%"> <hr noshade width="60%">
</td> </td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td> <td width="1%"><img src="gif/dot.gif" width="40" height="1" alt=""></td>
<td width="99%"> <td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0"> <table width="100%" cellspacing="0" cellpadding="0" border="0">

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI: Yank and Put</title> <title>BVI: Yank and Put</title>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">
@ -7,7 +7,7 @@
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center"> <tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1"> <img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%"> <hr noshade width="60%">
<p> <p>
@ -41,7 +41,7 @@
<hr noshade width="60%"> <hr noshade width="60%">
</td> </td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td> <td width="1%"><img src="gif/dot.gif" width="40" height="1" alt=""></td>
<td width="99%"> <td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0"> <table width="100%" cellspacing="0" cellpadding="0" border="0">

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI: Quick Tutorial</title> <title>BVI: Quick Tutorial</title>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">
@ -7,7 +7,7 @@
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center"> <tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1"> <img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%"> <hr noshade width="60%">
<p> <p>
@ -41,7 +41,7 @@
<hr noshade width="60%"> <hr noshade width="60%">
</td> </td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td> <td width="1%"><img src="gif/dot.gif" width="40" height="1" alt=""></td>
<td width="99%"> <td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0"> <table width="100%" cellspacing="0" cellpadding="0" border="0">

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN"> <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head> <html><head>
<title>BVI: Sitemap</title> <title>BVI: Sitemap</title>
<link rel=stylesheet type="text/css" href="bvi.css"> <link rel=stylesheet type="text/css" href="bvi.css">
@ -7,7 +7,7 @@
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center"> <tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1"> <img src="gif/dot.gif" width="130" height="1" alt="">
<hr noshade width="60%"> <hr noshade width="60%">
<p> <p>
@ -34,7 +34,7 @@
<hr noshade width="60%"> <hr noshade width="60%">
</td> </td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td> <td width="1%"><img src="gif/dot.gif" width="40" height="1" alt=""></td>
<td width="99%"> <td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0"> <table width="100%" cellspacing="0" cellpadding="0" border="0">
@ -88,6 +88,9 @@ height="62" border="0"></a>
</li> </li>
<ul> <ul>
<li> <li>
<a class="thl" href="new131.html">New in 1.3.1</a><br>
</li>
<li>
<a class="thl" href="new130.html">New in 1.3.0</a><br> <a class="thl" href="new130.html">New in 1.3.0</a><br>
</li> </li>
<li> <li>
@ -148,6 +151,6 @@ height="62" border="0"></a>
alt="Back to the top">Back to the top</a> alt="Back to the top">Back to the top</a>
</font> </font>
<hr noshade> <hr noshade>
<i>Last update: Thu Oct 12 20:42:01 CEST 2000 by Gerhard B&uuml;rgmann</i> <i>Last update: February 12<sup>th</sup> 2002 by Gerhard B&uuml;rgmann</i>
</td></tr></table> </td></tr></table>
</body></html> </body></html>

View file

@ -1,15 +1,27 @@
#! /bin/sh #!/bin/sh
# #
# install - install a program, script, or datafile # install - install a program, script, or datafile
# This comes from X11R5. # This comes from X11R5 (mit/util/scripts/install.sh).
#
# Copyright 1991 by the Massachusetts Institute of Technology
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of M.I.T. not be used in advertising or
# publicity pertaining to distribution of the software without specific,
# written prior permission. M.I.T. makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
# #
# Calling this script install-sh is preferred over install.sh, to prevent # Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it # `make' implicit rules from creating a file called install from it
# when there is no Makefile. # when there is no Makefile.
# #
# This script is compatible with the BSD install script, but was written # This script is compatible with the BSD install script, but was written
# from scratch. # from scratch. It can only install one file at a time, a restriction
# # shared with many OS's install programs.
# set DOITPROG to echo to test this script # set DOITPROG to echo to test this script
@ -29,7 +41,7 @@ stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}" rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}" mkdirprog="${MKDIRPROG-mkdir}"
tranformbasename="" transformbasename=""
transform_arg="" transform_arg=""
instcmd="$mvprog" instcmd="$mvprog"
chmodcmd="$chmodprog 0755" chmodcmd="$chmodprog 0755"
@ -97,7 +109,7 @@ then
echo "install: no input file specified" echo "install: no input file specified"
exit 1 exit 1
else else
true :
fi fi
if [ x"$dir_arg" != x ]; then if [ x"$dir_arg" != x ]; then
@ -106,8 +118,9 @@ if [ x"$dir_arg" != x ]; then
if [ -d $dst ]; then if [ -d $dst ]; then
instcmd=: instcmd=:
chmodcmd=""
else else
instcmd=mkdir instcmd=$mkdirprog
fi fi
else else
@ -117,7 +130,7 @@ else
if [ -f $src -o -d $src ] if [ -f $src -o -d $src ]
then then
true :
else else
echo "install: $src does not exist" echo "install: $src does not exist"
exit 1 exit 1
@ -128,7 +141,7 @@ else
echo "install: no destination specified" echo "install: no destination specified"
exit 1 exit 1
else else
true :
fi fi
# If destination is a directory, append the input filename; if your system # If destination is a directory, append the input filename; if your system
@ -138,7 +151,7 @@ else
then then
dst="$dst"/`basename $src` dst="$dst"/`basename $src`
else else
true :
fi fi
fi fi
@ -150,8 +163,8 @@ dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Skip lots of stat calls in the usual case. # Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then if [ ! -d "$dstdir" ]; then
defaultIFS=' defaultIFS='
' '
IFS="${IFS-${defaultIFS}}" IFS="${IFS-${defaultIFS}}"
oIFS="${IFS}" oIFS="${IFS}"
@ -170,7 +183,7 @@ while [ $# -ne 0 ] ; do
then then
$mkdirprog "${pathcomp}" $mkdirprog "${pathcomp}"
else else
true :
fi fi
pathcomp="${pathcomp}/" pathcomp="${pathcomp}/"
@ -181,10 +194,10 @@ if [ x"$dir_arg" != x ]
then then
$doit $instcmd $dst && $doit $instcmd $dst &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi
else else
# If we're going to rename the final executable, determine the name now. # If we're going to rename the final executable, determine the name now.
@ -203,7 +216,7 @@ else
then then
dstfile=`basename $dst` dstfile=`basename $dst`
else else
true :
fi fi
# Make a temp file name in the proper directory. # Make a temp file name in the proper directory.
@ -222,10 +235,10 @@ else
# ignore errors from any of these, just make sure not to ignore # ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command. # errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi &&
# Now rename the file to the real destination. # Now rename the file to the real destination.

View file

@ -4,9 +4,29 @@
# Created: 1993-05-16 # Created: 1993-05-16
# Public domain # Public domain
# $Id: mkinstalldirs,v 1.12.2.1 1998/12/26 17:32:14 bje Exp $ # $Id: mkinstalldirs,v 1.1 2001/05/22 14:43:50 akim Exp $
errstatus=0 errstatus=0
dirmode=""
usage="\
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
# process command line arguments
while test $# -gt 0 ; do
case "${1}" in
-h | --help | --h* ) # -h for help
echo "${usage}" 1>&2; exit 0 ;;
-m ) # -m PERM arg
shift
test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
dirmode="${1}"
shift ;;
-- ) shift; break ;; # stop option processing
-* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option
* ) break ;; # first non-opt arg
esac
done
for file for file
do do
@ -28,6 +48,17 @@ do
if test ! -d "$pathcomp"; then if test ! -d "$pathcomp"; then
errstatus=$lasterr errstatus=$lasterr
else
if test ! -z "$dirmode"; then
echo "chmod $dirmode $pathcomp"
lasterr=""
chmod $dirmode "$pathcomp" || lasterr=$?
if test ! -z "$lasterr"; then
errstatus=$lasterr
fi
fi
fi fi
fi fi
@ -36,3 +67,8 @@ do
done done
exit $errstatus exit $errstatus
# Local Variables:
# mode:shell-script
# sh-indentation:3
# End:

View file

@ -1 +1 @@
#define VERSION "1.3.0" #define VERSION "1.3.1"

7
set.c
View file

@ -9,8 +9,9 @@
* 1999-07-02 V 1.2.0 beta * 1999-07-02 V 1.2.0 beta
* 1999-08-14 V 1.2.0 final * 1999-08-14 V 1.2.0 final
* 2000-07-15 V 1.3.0 final * 2000-07-15 V 1.3.0 final
* 2001-10-10 V 1.3.1 cast for alloc_buf
* *
* Copyright 1996-2000 by Gerhard Buergmann * Copyright 1996-2001 by Gerhard Buergmann
* Gerhard.Buergmann@altavista.net * Gerhard.Buergmann@altavista.net
* *
* This program is free software; you can redistribute it and/or modify it * This program is free software; you can redistribute it and/or modify it
@ -258,7 +259,7 @@ do_logic(mode, str)
return 1; return 1;
} }
} }
if ((undo_count = alloc_buf(end_addr - start_addr + 1, &undo_buf))) { if ((undo_count = alloc_buf((off_t)(end_addr - start_addr + 1), &undo_buf))) {
memcpy(undo_buf, start_addr, undo_count); memcpy(undo_buf, start_addr, undo_count);
} }
undo_start = start_addr; undo_start = start_addr;
@ -326,7 +327,7 @@ getcmdstr(p, x)
move(maxy, x); move(maxy, x);
do { do {
switch (c = vgetc()) { switch (c = vgetc()) {
case CTRL('H'): case BVICTRL('H'):
case KEY_BACKSPACE: case KEY_BACKSPACE:
case KEY_LEFT: case KEY_LEFT:
if (p > buff) { if (p > buff) {