Patch #1 to cardfile
Dave Lampe
djl at dplace.UUCP
Mon Dec 10 12:52:15 AEST 1990
Submitted-by: djl at dplace.uucp
Archive-name: cardfile/patch01
These are the first patches to "cardfile" posted to comp.sources.misc
in October. The changes will be mailed to the moderator for official
posting, but are also posted here in the interest of getting them out.
See the file CHANGES for a detailed list of the changes, but in summary
there is one major bug fixed and an Imakefile is now provided.
The Imakefile requires that the man page source be renamed. You will
have to rename cardfile.man to manual.cpp by hand.
The bug is in the table definition. The field size for entering the
row and column position for the screen field is increased to 2 characters
and the #ifdef test for regular expressions is corrected.
If you ran into the bug and would like to change the way your database is
defined now, there are two ways to fix it. In either case the first thing
to do is backup your database files in case something goes wrong.
The easiest way to fix the problem, after compiling the new sources, is
to go to another directory and define the table again. After the
definition is complete, copy the table.def file to the old directory.
If you all you have changed is the screen row and column and/or the input
validation, the data files do not need changing.
The second way is to edit the table.def file by hand. The file should
look like this:
library.db:8 <-- database name and number of fields
Title:0:;:Y:65 <-- 8 db field definition lines, each has
Type:1::N:35 Field title
Author:2:;:Y:37 Index number or Not indexed
Keywords:3:,:N:130 Subfield separators (optional)
Publisher:N::N:20 Required or not
Date:N::N:10 Field length
Cost:N::N:6
Comments:N::N:250
4 <-- number of index fields
0:library.ak0 <-- for each index, the index number
1:library.ak1 and index file name
2:library.ak2
3:library.ak3
%% <-- Start of screen layout
0:1:-1:-1:-1:-1: <-- Screen layout for each field. Each line has
1:1:-1:-1:-1:-1: Field number
2:1:-1:-1:-1:-1: Title row/column (-1 is default)
3:1:-1:-1:-1:-1: Data row/column (-1 is default)
4:1:-1:-1:-1:-1: Regular expression to do validation
5:1:::::^1[89][0-9][0-9]$
6:1:::::^[0-9]*.[0-9][0-9]$
7:1:-1:-1:-1:-1:
--
Dave Lampe
{ames | lll-tis | sun | pyramid}!pacbell!dplace!djl
(415) 455-1571 (H)
(415) 462-7000 (W)
-------------------------------------------------------------------------------
*** old/CHANGES Sun Dec 9 16:54:59 1990
--- CHANGES Sun Dec 9 16:54:47 1990
***************
*** 0
--- 1,18 -----
+ 1) Field definition screen (define.c) changed to allow two digit line and
+ column specifications. Also the #ifdef for the format line was corrected.
+
+ 2) Ambiguous assignment operator in cardfile.c clarified.
+
+ 3) TERMIO switch added (Makefile, screen.c).
+
+ 4) Unused variables in change.c and delete.c deleted.
+
+ 5) Fix validation of required and key fields if BSD_STRINGS defined (define.c).
+
+ 6) An Imakefile is now provided. I don't use Imake so it is untested.
+ Comments should go to Jonathan I. Kamens, jik at pit-manager.MIT.EDU
+
+ 7) Cardfile.man renamed to manual.cpp because of Imake.
+ This must be done manually.
+
+ 8) Support for the Sony News workstation added (Makefile, findrcds.c).
*** old/patchlevel.h Sun Dec 9 16:30:58 1990
--- patchlevel.h Sun Dec 9 16:38:26 1990
***************
*** 0
--- 1,5 -----
+ #ifndef lint
+ static char ID_patchlevel[] = "@(#)patchlevel.h 1.2 DeltaDate 12/9/90 ExtrDate 12/9/90";
+ #endif
+
+ #define VERSION "1.2"
*** old/Makefile Sun Dec 9 17:20:38 1990
--- Makefile Sun Dec 9 16:41:56 1990
***************
*** 1,4
! # @(#)Makefile 3.2 DeltaDate 8/11/90 ExtrDate 10/6/90
# Variables to define your environment:
# Define what kind of regular expression routines you have
--- 1,4 -----
! # @(#)Makefile 3.3 DeltaDate 12/9/90 ExtrDate 12/9/90
# Variables to define your environment:
# Define what kind of regular expression routines you have
***************
*** 10,15
#
# Define what flavor of curses you have
# TERMCAP use the original (BSD) curses
# TERMINFO use the SYSV rewrite of curses
#
# Define what tty driver you have
--- 10,16 -----
#
# Define what flavor of curses you have
# TERMCAP use the original (BSD) curses
+ # TERMIO include <termio.h> (normally true with termcap)
# TERMINFO use the SYSV rewrite of curses
#
# Define what tty driver you have
***************
*** 22,28
#
# Define which signal library you have
# BSD_SIG system calls are continued after interrupt
! # SYSV_SIG system call returns error if interrupted
#
# Pick one from each of the five lists above.
#
--- 23,29 -----
#
# Define which signal library you have
# BSD_SIG system calls are continued after interrupt
! # SYSV_SIG system calls return error if interrupted
#
# Pick one from each of the five lists above.
#
***************
*** 32,38
# These are for compiling on the Sun 4.0
#CC = cc
! #CCP = ccp
#LINT = lint
#DEFINES = -DTERMCAP -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DBSD_SIG
#CC = /usr/5bin/cc
--- 33,40 -----
# These are for compiling on the Sun 4.0
#CC = cc
! #CPP = cpp
! #CPPFLAG = -C -P
#LINT = lint
#DEFINES = -DTERMCAP -DTERMIO -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DBSD_SIG
#CC = /usr/5bin/cc
***************
*** 34,40
#CC = cc
#CCP = ccp
#LINT = lint
! #DEFINES = -DTERMCAP -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DBSD_SIG
#CC = /usr/5bin/cc
#CCP = /usr/5bin/ccp
#LINT = /usr/5bin/lint
--- 36,42 -----
#CPP = cpp
#CPPFLAG = -C -P
#LINT = lint
! #DEFINES = -DTERMCAP -DTERMIO -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DBSD_SIG
#CC = /usr/5bin/cc
#CPP = /usr/5bin/cpp
#CPPFLAG = -C -P
***************
*** 36,42
#LINT = lint
#DEFINES = -DTERMCAP -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DBSD_SIG
#CC = /usr/5bin/cc
! #CCP = /usr/5bin/ccp
#LINT = /usr/5bin/lint
#DEFINES = -DTERMINFO -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DSYSV_SIG
--- 38,45 -----
#LINT = lint
#DEFINES = -DTERMCAP -DTERMIO -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DBSD_SIG
#CC = /usr/5bin/cc
! #CPP = /usr/5bin/cpp
! #CPPFLAG = -C -P
#LINT = /usr/5bin/lint
#DEFINES = -DTERMINFO -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DSYSV_SIG
***************
*** 40,45
#LINT = /usr/5bin/lint
#DEFINES = -DTERMINFO -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DSYSV_SIG
# These are for System V
CC = cc
CPP = /lib/cpp
--- 43,55 -----
#LINT = /usr/5bin/lint
#DEFINES = -DTERMINFO -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DSYSV_SIG
+ # These are for compileing on Sony/News 800 series
+ # CC = cc
+ # CPP = cc -E
+ # CPPFLAG =
+ # LINT = lint
+ # DEFINES = -DTERMCAP -DTERMIO -DBSD_RE -DBSD_STRING -DBSD_TTY -DSIGRTN=int -DBSD_SIG -DNEWS
+
# These are for System V
CC = cc
CPP = /lib/cpp
***************
*** 43,48
# These are for System V
CC = cc
CPP = /lib/cpp
LINT = lint
DEFINES = -DTERMINFO -DSYSV_RE -DSYSV_STRING -DSYSV_TTY -DSIGRTN=int -DSYSV_SIG
--- 53,59 -----
# These are for System V
CC = cc
CPP = /lib/cpp
+ CPPFLAG = -C -P
LINT = lint
DEFINES = -DTERMINFO -DSYSV_RE -DSYSV_STRING -DSYSV_TTY -DSIGRTN=int -DSYSV_SIG
***************
*** 75,81
SHARFLAGS = -c -V -l62 -n cardfile -a -x -o cardfile
DOC = cardfile.1
! DOCS = cardfile.man
HDRS = ascii.h cardfile.h
--- 86,92 -----
SHARFLAGS = -c -V -l62 -n cardfile -a -x -o cardfile
DOC = cardfile.1
! DOCS = manual.cpp
HDRS = ascii.h cardfile.h
***************
*** 174,180
lp -o-v8 -o-t -o-h12
prt_docs: $(DOC)
! nroff -man cardfile.1 | lp -o-qc
cardfile.1: cardfile.man
$(CPP) -C -P cardfile.man | sed -e '/^$$/d' >cardfile.1
--- 185,191 -----
lp -o-v8 -o-t -o-h12
prt_docs: $(DOC)
! nroff -man $(DOC) | lp -o-qc
cardfile.1: manual.cpp
$(CPP) $(CPPFLAG) manual.cpp | sed -e '/^$$/d' >cardfile.1
***************
*** 176,183
prt_docs: $(DOC)
nroff -man cardfile.1 | lp -o-qc
! cardfile.1: cardfile.man
! $(CPP) -C -P cardfile.man | sed -e '/^$$/d' >cardfile.1
shar: $(HDRS) $(SRC) $(DOCS) Makefile $(TESTDB)
$(SHAR) $(SHARFLAGS) README $(DOCS) Makefile \
--- 187,194 -----
prt_docs: $(DOC)
nroff -man $(DOC) | lp -o-qc
! cardfile.1: manual.cpp
! $(CPP) $(CPPFLAG) manual.cpp | sed -e '/^$$/d' >cardfile.1
shar: $(HDRS) $(SRC) $(DOCS) Makefile $(TESTDB)
$(SHAR) $(SHARFLAGS) README $(DOCS) Makefile \
***************
*** 197,203
change.o: cardfile.h ascii.h
common.o: cardfile.h ascii.h
compress.o: cardfile.h
! define.o: cardfile.h ascii.h
delete.o: cardfile.h ascii.h
dumpdb.o: cardfile.h ascii.h
extract.o: cardfile.h ascii.h
--- 208,214 -----
change.o: cardfile.h ascii.h
common.o: cardfile.h ascii.h
compress.o: cardfile.h
! define.o: cardfile.h ascii.h patchlevel.h
delete.o: cardfile.h ascii.h
dumpdb.o: cardfile.h ascii.h
extract.o: cardfile.h ascii.h
*** old/cardfile.c Sun Dec 9 17:19:00 1990
--- cardfile.c Sun Dec 9 16:41:58 1990
***************
*** 1,5
#ifndef lint
! static char Sccsid[] = "@(#)cardfile.c 3.1 DeltaDate 8/3/90 ExtrDate 10/6/90";
#endif
/* CARDFILE.C */
--- 1,5 -----
#ifndef lint
! static char Sccsid[] = "@(#)cardfile.c 3.2 DeltaDate 12/9/90 ExtrDate 12/9/90";
#endif
/* CARDFILE.C */
***************
*** 117,123
strcpy(fname, getfield(line_buf, ":"));
num_flds = atoi(getfield(0, ":"));
! for (i=0, fp=&fields[0]; i<num_flds; i++, fp++) { /* get definition of each field */
if (fgets(line_buf, 132, def_fp) == NULL) {
printf("DEF file syntax error, field defs\n");
sleep(5);
--- 117,124 -----
strcpy(fname, getfield(line_buf, ":"));
num_flds = atoi(getfield(0, ":"));
! /* get definition of each field */
! for (i = 0, fp = &fields[0]; i < num_flds; i++, fp++) {
if (fgets(line_buf, 132, def_fp) == NULL) {
printf("DEF file syntax error, field defs\n");
sleep(5);
*** old/change.c Sun Dec 9 17:19:06 1990
--- change.c Sun Dec 9 16:42:00 1990
***************
*** 1,5
#ifndef lint
! static char Sccsid[] = "@(#)change.c 3.1 DeltaDate 8/3/90 ExtrDate 10/6/90";
#endif
/* CHANGE.C */
--- 1,5 -----
#ifndef lint
! static char Sccsid[] = "@(#)change.c 3.2 DeltaDate 12/9/90 ExtrDate 12/9/90";
#endif
/* CHANGE.C */
***************
*** 74,81
char c, save[DBSIZE+1];
long offset, ftell();
char *strchr();
- int fn;
- struct Fdata *fp;
struct Sdata *sp;
char *first = "Record to be CHANGED";
char *last = "RETURN for next, ESC to abort, Ctrl-C to Change, Ctrl-B to reverse";
--- 74,79 -----
char c, save[DBSIZE+1];
long offset, ftell();
char *strchr();
struct Sdata *sp;
char *first = "Record to be CHANGED";
char *last = "RETURN for next, ESC to abort, Ctrl-C to Change, Ctrl-B to reverse";
*** old/define.c Sun Dec 9 17:19:12 1990
--- define.c Sun Dec 9 16:42:02 1990
***************
*** 1,5
#ifndef lint
! static char Sccsid[] = "@(#)define.c 3.1 DeltaDate 8/3/90 ExtrDate 10/6/90";
#endif
/* DEFINE.C */
--- 1,5 -----
#ifndef lint
! static char Sccsid[] = "@(#)define.c 3.2 DeltaDate 12/9/90 ExtrDate 12/9/90";
#endif
/* DEFINE.C */
***************
*** 15,20
#include "cardfile.h"
#include "stdio.h"
#include "ascii.h"
#include <ctype.h>
#define FNAME 0
--- 15,21 -----
#include "cardfile.h"
#include "stdio.h"
#include "ascii.h"
+ #include "patchlevel.h"
#include <ctype.h>
#define FNAME 0
***************
*** 61,67
{"FIELD PAGE", 1, page_res, " ",
-1, -1, -1, -1, -1, "^[-0-9]$"},
{"LABEL LINE", 2, lline_res, " ",
! -1, -1, -1, -1, -1, "^[-0-9]$"},
{"LABEL COLUMN", 2, lcol_res, " ",
-1, 12, 35, -1, -1, "^[-0-9]$"},
{"DATA FIELD LINE", 2, dline_res, " ",
--- 62,68 -----
{"FIELD PAGE", 1, page_res, " ",
-1, -1, -1, -1, -1, "^[-0-9]$"},
{"LABEL LINE", 2, lline_res, " ",
! -1, -1, -1, -1, -1, "^[-0-9][0-9]*$"},
{"LABEL COLUMN", 2, lcol_res, " ",
-1, 12, 35, -1, -1, "^[-0-9][0-9]*$"},
{"DATA FIELD LINE", 2, dline_res, " ",
***************
*** 63,69
{"LABEL LINE", 2, lline_res, " ",
-1, -1, -1, -1, -1, "^[-0-9]$"},
{"LABEL COLUMN", 2, lcol_res, " ",
! -1, 12, 35, -1, -1, "^[-0-9]$"},
{"DATA FIELD LINE", 2, dline_res, " ",
-1, -1, -1, -1, -1, "^[-0-9]$"},
{"DATA FIELD COLUMN", 2, dcol_res, 0,
--- 64,70 -----
{"LABEL LINE", 2, lline_res, " ",
-1, -1, -1, -1, -1, "^[-0-9][0-9]*$"},
{"LABEL COLUMN", 2, lcol_res, " ",
! -1, 12, 35, -1, -1, "^[-0-9][0-9]*$"},
{"DATA FIELD LINE", 2, dline_res, " ",
-1, -1, -1, -1, -1, "^[-0-9][0-9]*$"},
{"DATA FIELD COLUMN", 2, dcol_res, 0,
***************
*** 65,71
{"LABEL COLUMN", 2, lcol_res, " ",
-1, 12, 35, -1, -1, "^[-0-9]$"},
{"DATA FIELD LINE", 2, dline_res, " ",
! -1, -1, -1, -1, -1, "^[-0-9]$"},
{"DATA FIELD COLUMN", 2, dcol_res, 0,
-1, 14, 35, -1, -1, "^[-0-9]$"},
#ifdef RE
--- 66,72 -----
{"LABEL COLUMN", 2, lcol_res, " ",
-1, 12, 35, -1, -1, "^[-0-9][0-9]*$"},
{"DATA FIELD LINE", 2, dline_res, " ",
! -1, -1, -1, -1, -1, "^[-0-9][0-9]*$"},
{"DATA FIELD COLUMN", 2, dcol_res, 0,
-1, 14, 35, -1, -1, "^[-0-9][0-9]*$"},
#ifndef NO_RE
***************
*** 67,74
{"DATA FIELD LINE", 2, dline_res, " ",
-1, -1, -1, -1, -1, "^[-0-9]$"},
{"DATA FIELD COLUMN", 2, dcol_res, 0,
! -1, 14, 35, -1, -1, "^[-0-9]$"},
! #ifdef RE
{"FORMAT", MAXFMT, fmt_res, 0,
-1, -1, -1, -1, -1, ""},
#endif
--- 68,75 -----
{"DATA FIELD LINE", 2, dline_res, " ",
-1, -1, -1, -1, -1, "^[-0-9][0-9]*$"},
{"DATA FIELD COLUMN", 2, dcol_res, 0,
! -1, 14, 35, -1, -1, "^[-0-9][0-9]*$"},
! #ifndef NO_RE
{"FORMAT", MAXFMT, fmt_res, 0,
-1, -1, -1, -1, -1, ""},
#endif
***************
*** 91,97
int tsize;
int opt_out;
! sprintf(first,"DEFINING %s DATA BASE", basename);
if (access((*datadir ? datadir : "."), 06) != 0) {
printf("Cannot write into %s\n", (*datadir ? datadir : "."));
sleep(5);
--- 92,99 -----
int tsize;
int opt_out;
! sprintf(first,"DEFINING %s DATA BASE -- Cardfile Version %s",
! basename, VERSION);
if (access((*datadir ? datadir : "."), 06) != 0) {
printf("Cannot write into %s\n", (*datadir ? datadir : "."));
sleep(5);
***************
*** 133,138
#ifdef BSD_STRING
if (islower(def_screen[REQD].S_result[0]))
fp->F_required = toupper(def_screen[REQD].S_result[0]);
#else
fp->F_required = toupper(def_screen[REQD].S_result[0]);
#endif
--- 135,142 -----
#ifdef BSD_STRING
if (islower(def_screen[REQD].S_result[0]))
fp->F_required = toupper(def_screen[REQD].S_result[0]);
+ else
+ fp->F_required = def_screen[REQD].S_result[0];
#else
fp->F_required = toupper(def_screen[REQD].S_result[0]);
#endif
***************
*** 144,149
#ifdef BSD_STRING
if (islower(def_screen[SRCH].S_result[0]))
fp->F_key = toupper(def_screen[SRCH].S_result[0]);
#else
fp->F_key = toupper(def_screen[SRCH].S_result[0]);
#endif
--- 148,155 -----
#ifdef BSD_STRING
if (islower(def_screen[SRCH].S_result[0]))
fp->F_key = toupper(def_screen[SRCH].S_result[0]);
+ else
+ fp->F_key = def_screen[SRCH].S_result[0];
#else
fp->F_key = toupper(def_screen[SRCH].S_result[0]);
#endif
***************
*** 174,180
} else {
fp->F_Lrow = atoi(def_screen[LLINE].S_result);
if (fp->F_Lrow < 2 || fp->F_Lrow >= MSGLINE) {
! msg("LABEL ROW field must be less than 22");
++err;
}
}
--- 180,186 -----
} else {
fp->F_Lrow = atoi(def_screen[LLINE].S_result);
if (fp->F_Lrow < 2 || fp->F_Lrow >= MSGLINE) {
! msg("LABEL LINE field must be less than 22");
++err;
}
}
***************
*** 194,200
} else {
fp->F_Drow = atoi(def_screen[DLINE].S_result);
if (fp->F_Drow < 2 || fp->F_Drow >= MSGLINE) {
! msg("DATA ROW field must be less than 22");
++err;
}
}
--- 200,206 -----
} else {
fp->F_Drow = atoi(def_screen[DLINE].S_result);
if (fp->F_Drow < 2 || fp->F_Drow >= MSGLINE) {
! msg("DATA LINE field must be less than 22");
++err;
}
}
*** old/delete.c Sun Dec 9 17:19:17 1990
--- delete.c Sun Dec 9 16:42:03 1990
***************
*** 1,5
#ifndef lint
! static char Sccsid[] = "@(#)delete.c 3.1 DeltaDate 8/3/90 ExtrDate 10/6/90";
#endif
/* DELETE.C */
--- 1,5 -----
#ifndef lint
! static char Sccsid[] = "@(#)delete.c 3.2 DeltaDate 12/9/90 ExtrDate 12/9/90";
#endif
/* DELETE.C */
***************
*** 71,79
char *dummy;
{
char c, save[DBSIZE+1];
- static char fmt[256];
- int fn;
- struct Fdata *fp;
struct Sdata *sp;
char *first = "Record to be DELETED";
char *last = "RETURN for next, ESC to abort, CTL-D to DELETE, CTL-B to reverse";
--- 71,76 -----
char *dummy;
{
char c, save[DBSIZE+1];
struct Sdata *sp;
char *first = "Record to be DELETED";
char *last = "RETURN for next, ESC to abort, CTL-D to DELETE, CTL-B to reverse";
*** old/extract.c Sun Dec 9 17:19:22 1990
--- extract.c Sun Dec 9 16:42:04 1990
***************
*** 1,5
#ifndef lint
! static char Sccsid[] = "@(#)extract.c 3.1 DeltaDate 8/3/90 ExtrDate 10/6/90";
#endif
/* EXTRACT.C */
--- 1,5 -----
#ifndef lint
! static char Sccsid[] = "@(#)extract.c 3.2 DeltaDate 12/9/90 ExtrDate 12/9/90";
#endif
/* EXTRACT.C */
***************
*** 15,21
char ext_fname[FNSIZE];
int rec_cnt;
struct Sdata fn_screen[] = {
! {"File Name", FNSIZE, ext_fname, NULL},
{0, 0, 0, 0}
};
--- 15,22 -----
char ext_fname[FNSIZE];
int rec_cnt;
struct Sdata fn_screen[] = {
! {"File Name", FNSIZE, ext_fname, NULL,
! -1, -1, -1, -1, -1, ""},
{0, 0, 0, 0}
};
*** old/findrcds.c Sun Dec 9 17:19:32 1990
--- findrcds.c Sun Dec 9 16:42:05 1990
***************
*** 1,5
#ifndef lint
! static char Sccsid[] = "@(#)findrcds.c 3.1 DeltaDate 8/3/90 ExtrDate 10/6/90";
#endif
/* FINDRCDS.C */
--- 1,5 -----
#ifndef lint
! static char Sccsid[] = "@(#)findrcds.c 3.2 DeltaDate 12/9/90 ExtrDate 12/9/90";
#endif
/* FINDRCDS.C */
***************
*** 19,24
#include <errno.h>
#include "ascii.h"
#include "cardfile.h"
extern int readonly;
--- 19,27 -----
#include <errno.h>
#include "ascii.h"
#include "cardfile.h"
+ #ifdef NEWS
+ extern int errno;
+ #endif
extern int readonly;
*** old/screen.c Sun Dec 9 17:19:40 1990
--- screen.c Sun Dec 9 16:42:08 1990
***************
*** 1,5
#ifndef lint
! static char Sccsid[] = "@(#)screen.c 3.2 DeltaDate 8/11/90 ExtrDate 10/6/90";
#endif
/* SCREEN.C */
--- 1,5 -----
#ifndef lint
! static char Sccsid[] = "@(#)screen.c 3.3 DeltaDate 12/9/90 ExtrDate 12/9/90";
#endif
/* SCREEN.C */
***************
*** 51,56
#include <ctype.h>
#include <signal.h>
#ifdef TERMCAP
#include <termio.h>
#define tparm(a, line, col) tgoto(a, col, line)
#define putp(a) tputs(a, 12, mputc)
--- 51,57 -----
#include <ctype.h>
#include <signal.h>
#ifdef TERMCAP
+ # ifdef TERMIO
#include <termio.h>
# endif
#define tparm(a, line, col) tgoto(a, col, line)
***************
*** 52,57
#include <signal.h>
#ifdef TERMCAP
#include <termio.h>
#define tparm(a, line, col) tgoto(a, col, line)
#define putp(a) tputs(a, 12, mputc)
#else
--- 53,59 -----
#ifdef TERMCAP
# ifdef TERMIO
#include <termio.h>
+ # endif
#define tparm(a, line, col) tgoto(a, col, line)
#define putp(a) tputs(a, 12, mputc)
#else
***************
*** 377,383
#ifdef BSD_SIG
longjmp(jbuf, 1);
#endif
- return;
}
/*
--- 379,384 -----
#ifdef BSD_SIG
longjmp(jbuf, 1);
#endif
}
/*
--
Dave Lampe
{ames | lll-tis | sun | pyramid}!pacbell!dplace!djl
(415) 455-1571 (H)
(415) 462-7000 (W)
More information about the Comp.sources.bugs
mailing list