home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume15 / cardfile / patch01 < prev    next >
Text File  |  1990-12-17  |  21KB  |  765 lines

  1. Newsgroups: comp.sources.misc
  2. X-UNIX-From: dplace!pacbell!djl@PacBell.COM
  3. from: Dave Lampe <dplace!djl@PacBell.COM>
  4. subject: v15i105: Patch to cardfile
  5. Sender: allbery@uunet.UU.NET (Brandon S. Allbery - comp.sources.misc)
  6.  
  7. Posting-number: Volume 15, Issue 105
  8. Submitted-by: Dave Lampe <dplace!djl@PacBell.COM>
  9. Archive-name: cardfile/patch01
  10.  
  11. These are the first patches to "cardfile" posted to comp.sources.misc
  12. in October.  See the file CHANGES for a detailed list of the changes,
  13. but in summary there is one major bug fixed and an Imakefile is now
  14. provided.
  15.  
  16. The Imakefile requires that the man page source be renamed.  You will
  17. have to rename cardfile.man to manual.cpp by hand.
  18.  
  19. The bug is in the table definition. The field size for entering the
  20. row and column position for the screen field is increased to 2 characters
  21. and the #ifdef test for regular expressions is corrected.
  22.  
  23. If you ran into the bug and would like to change the way your database is
  24. defined now, there are two ways to fix it. In either case the first thing
  25. to do is backup your database files in case something goes wrong.
  26. The easiest way to fix the problem, after compiling the new sources, is
  27. to go to another directory and define the table again.  After the
  28. definition is complete, copy the table.def file to the old directory.
  29. If you all you have changed is the screen row and column and/or the input
  30. validation, the data files do not need changing.
  31. The second way is to edit the table.def file by hand.  The file should
  32. look like this:
  33. library.db:8            <-- database name and number of fields
  34. Title:0:;:Y:65            <-- 8 db field definition lines, each has
  35. Type:1::N:35                Field title
  36. Author:2:;:Y:37                Index number or Not indexed
  37. Keywords:3:,:N:130            Subfield separators (optional)
  38. Publisher:N::N:20            Required or not
  39. Date:N::N:10                Field length
  40. Cost:N::N:6
  41. Comments:N::N:250
  42. 4                <-- number of index fields
  43. 0:library.ak0            <-- for each index, the index number
  44. 1:library.ak1                and index file name
  45. 2:library.ak2
  46. 3:library.ak3
  47. %%                <-- Start of screen layout
  48. 0:1:-1:-1:-1:-1:        <-- Screen layout for each field. Each line has
  49. 1:1:-1:-1:-1:-1:            Field number
  50. 2:1:-1:-1:-1:-1:            Title row/column (-1 is default)
  51. 3:1:-1:-1:-1:-1:            Data row/column (-1 is default)
  52. 4:1:-1:-1:-1:-1:            Regular expression to do validation
  53. 5:1:::::^1[89][0-9][0-9]$
  54. 6:1:::::^[0-9]*.[0-9][0-9]$
  55. 7:1:-1:-1:-1:-1:
  56.  
  57. -- 
  58. Dave Lampe
  59. {ames | lll-tis | sun | pyramid}!pacbell!dplace!djl
  60. (415) 455-1571 (H)
  61. (415) 462-7000 (W)
  62. -------------------------------------------------------------------------------
  63. *** old/CHANGES    Sun Dec  9 16:54:59 1990
  64. --- CHANGES    Sun Dec  9 16:54:47 1990
  65. ***************
  66. *** 0
  67.  
  68. --- 1,18 -----
  69. + 1)  Field definition screen (define.c) changed to allow two digit line and
  70. +     column specifications.  Also the #ifdef for the format line was corrected.
  71. + 2)  Ambiguous assignment operator in cardfile.c clarified.
  72. + 3)  TERMIO switch added (Makefile, screen.c).
  73. + 4)  Unused variables in change.c and delete.c deleted.
  74. + 5)  Fix validation of required and key fields if BSD_STRINGS defined (define.c).
  75. + 6)  An Imakefile is now provided. I don't use Imake so it is untested.
  76. +     Comments should go to Jonathan I. Kamens, jik@pit-manager.MIT.EDU
  77. + 7)  Cardfile.man renamed to manual.cpp because of Imake.
  78. +     This must be done manually.
  79. + 8)  Support for the Sony News workstation added (Makefile, findrcds.c).
  80. *** old/patchlevel.h    Sun Dec  9 16:30:58 1990
  81. --- patchlevel.h    Sun Dec  9 16:38:26 1990
  82. ***************
  83. *** 0
  84.  
  85. --- 1,5 -----
  86. + #ifndef lint
  87. + static char ID_patchlevel[] = "@(#)patchlevel.h    1.2   DeltaDate 12/9/90    ExtrDate 12/9/90";
  88. + #endif
  89. + #define VERSION    "1.2"
  90. *** old/Makefile    Sun Dec  9 17:20:38 1990
  91. --- Makefile    Sun Dec  9 16:41:56 1990
  92. ***************
  93. *** 1,4
  94. ! # @(#)Makefile    3.2  DeltaDate 8/11/90   ExtrDate 10/6/90
  95.   
  96.   # Variables to define your environment:
  97.   #   Define what kind of regular expression routines you have
  98.  
  99. --- 1,4 -----
  100. ! # @(#)Makefile    3.3  DeltaDate 12/9/90   ExtrDate 12/9/90
  101.   
  102.   # Variables to define your environment:
  103.   #   Define what kind of regular expression routines you have
  104. ***************
  105. *** 10,15
  106.   #
  107.   #   Define what flavor of curses you have
  108.   #    TERMCAP        use the original (BSD) curses
  109.   #    TERMINFO    use the SYSV rewrite of curses
  110.   #
  111.   #   Define what tty driver you have
  112.  
  113. --- 10,16 -----
  114.   #
  115.   #   Define what flavor of curses you have
  116.   #    TERMCAP        use the original (BSD) curses
  117. + #      TERMIO    include <termio.h> (normally true with termcap)
  118.   #    TERMINFO    use the SYSV rewrite of curses
  119.   #
  120.   #   Define what tty driver you have
  121. ***************
  122. *** 22,28
  123.   #
  124.   #   Define which signal library you have
  125.   #    BSD_SIG        system calls are continued after interrupt
  126. ! #    SYSV_SIG    system call returns error if interrupted
  127.   #
  128.   # Pick one from each of the five lists above.
  129.   #
  130.  
  131. --- 23,29 -----
  132.   #
  133.   #   Define which signal library you have
  134.   #    BSD_SIG        system calls are continued after interrupt
  135. ! #    SYSV_SIG    system calls return error if interrupted
  136.   #
  137.   # Pick one from each of the five lists above.
  138.   #
  139. ***************
  140. *** 32,38
  141.   
  142.   # These are for compiling on the Sun 4.0
  143.   #CC    =    cc
  144. ! #CCP    =    ccp
  145.   #LINT    =    lint
  146.   #DEFINES =    -DTERMCAP -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DBSD_SIG
  147.   #CC    =    /usr/5bin/cc
  148.  
  149. --- 33,40 -----
  150.   
  151.   # These are for compiling on the Sun 4.0
  152.   #CC    =    cc
  153. ! #CPP    =    cpp
  154. ! #CPPFLAG =    -C -P
  155.   #LINT    =    lint
  156.   #DEFINES =    -DTERMCAP -DTERMIO -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DBSD_SIG
  157.   #CC    =    /usr/5bin/cc
  158. ***************
  159. *** 34,40
  160.   #CC    =    cc
  161.   #CCP    =    ccp
  162.   #LINT    =    lint
  163. ! #DEFINES =    -DTERMCAP -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DBSD_SIG
  164.   #CC    =    /usr/5bin/cc
  165.   #CCP    =    /usr/5bin/ccp
  166.   #LINT    =    /usr/5bin/lint
  167.  
  168. --- 36,42 -----
  169.   #CPP    =    cpp
  170.   #CPPFLAG =    -C -P
  171.   #LINT    =    lint
  172. ! #DEFINES =    -DTERMCAP -DTERMIO -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DBSD_SIG
  173.   #CC    =    /usr/5bin/cc
  174.   #CPP    =    /usr/5bin/cpp
  175.   #CPPFLAG =    -C -P
  176. ***************
  177. *** 36,42
  178.   #LINT    =    lint
  179.   #DEFINES =    -DTERMCAP -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DBSD_SIG
  180.   #CC    =    /usr/5bin/cc
  181. ! #CCP    =    /usr/5bin/ccp
  182.   #LINT    =    /usr/5bin/lint
  183.   #DEFINES =    -DTERMINFO -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DSYSV_SIG
  184.   
  185.  
  186. --- 38,45 -----
  187.   #LINT    =    lint
  188.   #DEFINES =    -DTERMCAP -DTERMIO -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DBSD_SIG
  189.   #CC    =    /usr/5bin/cc
  190. ! #CPP    =    /usr/5bin/cpp
  191. ! #CPPFLAG =    -C -P
  192.   #LINT    =    /usr/5bin/lint
  193.   #DEFINES =    -DTERMINFO -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DSYSV_SIG
  194.   
  195. ***************
  196. *** 40,45
  197.   #LINT    =    /usr/5bin/lint
  198.   #DEFINES =    -DTERMINFO -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DSYSV_SIG
  199.   
  200.   # These are for System V
  201.   CC    =    cc
  202.   CPP    =    /lib/cpp
  203.  
  204. --- 43,55 -----
  205.   #LINT    =    /usr/5bin/lint
  206.   #DEFINES =    -DTERMINFO -DBSD_RE -DBSD_STRING -DSYSV_TTY -DSIGRTN=void -DSYSV_SIG
  207.   
  208. + # These are for compileing on Sony/News 800 series
  209. + # CC    =    cc
  210. + # CPP    =    cc -E
  211. + # CPPFLAG =
  212. + # LINT    =    lint
  213. + # DEFINES =    -DTERMCAP -DTERMIO -DBSD_RE -DBSD_STRING -DBSD_TTY -DSIGRTN=int -DBSD_SIG -DNEWS
  214.   # These are for System V
  215.   CC    =    cc
  216.   CPP    =    /lib/cpp
  217. ***************
  218. *** 43,48
  219.   # These are for System V
  220.   CC    =    cc
  221.   CPP    =    /lib/cpp
  222.   LINT    =    lint
  223.   DEFINES    =    -DTERMINFO -DSYSV_RE -DSYSV_STRING -DSYSV_TTY -DSIGRTN=int -DSYSV_SIG
  224.   
  225.  
  226. --- 53,59 -----
  227.   # These are for System V
  228.   CC    =    cc
  229.   CPP    =    /lib/cpp
  230. + CPPFLAG =    -C -P
  231.   LINT    =    lint
  232.   DEFINES    =    -DTERMINFO -DSYSV_RE -DSYSV_STRING -DSYSV_TTY -DSIGRTN=int -DSYSV_SIG
  233.   
  234. ***************
  235. *** 75,81
  236.   SHARFLAGS =    -c -V -l62 -n cardfile -a -x -o cardfile
  237.   
  238.   DOC    =    cardfile.1
  239. ! DOCS    =    cardfile.man
  240.   
  241.   HDRS    =    ascii.h cardfile.h
  242.   
  243.  
  244. --- 86,92 -----
  245.   SHARFLAGS =    -c -V -l62 -n cardfile -a -x -o cardfile
  246.   
  247.   DOC    =    cardfile.1
  248. ! DOCS    =    manual.cpp
  249.   
  250.   HDRS    =    ascii.h cardfile.h
  251.   
  252. ***************
  253. *** 174,180
  254.           lp -o-v8 -o-t -o-h12
  255.   
  256.   prt_docs:    $(DOC)
  257. !         nroff -man cardfile.1 | lp -o-qc
  258.   
  259.   cardfile.1:    cardfile.man
  260.           $(CPP) -C -P cardfile.man | sed -e '/^$$/d' >cardfile.1
  261.  
  262. --- 185,191 -----
  263.           lp -o-v8 -o-t -o-h12
  264.   
  265.   prt_docs:    $(DOC)
  266. !         nroff -man $(DOC) | lp -o-qc
  267.   
  268.   cardfile.1:    manual.cpp
  269.           $(CPP) $(CPPFLAG) manual.cpp | sed -e '/^$$/d' >cardfile.1
  270. ***************
  271. *** 176,183
  272.   prt_docs:    $(DOC)
  273.           nroff -man cardfile.1 | lp -o-qc
  274.   
  275. ! cardfile.1:    cardfile.man
  276. !         $(CPP) -C -P cardfile.man | sed -e '/^$$/d' >cardfile.1
  277.   
  278.   shar:        $(HDRS) $(SRC) $(DOCS) Makefile $(TESTDB)
  279.           $(SHAR) $(SHARFLAGS) README $(DOCS) Makefile \
  280.  
  281. --- 187,194 -----
  282.   prt_docs:    $(DOC)
  283.           nroff -man $(DOC) | lp -o-qc
  284.   
  285. ! cardfile.1:    manual.cpp
  286. !         $(CPP) $(CPPFLAG) manual.cpp | sed -e '/^$$/d' >cardfile.1
  287.   
  288.   shar:        $(HDRS) $(SRC) $(DOCS) Makefile $(TESTDB)
  289.           $(SHAR) $(SHARFLAGS) README $(DOCS) Makefile \
  290. ***************
  291. *** 197,203
  292.   change.o:    cardfile.h ascii.h
  293.   common.o:    cardfile.h ascii.h
  294.   compress.o:    cardfile.h
  295. ! define.o:    cardfile.h ascii.h
  296.   delete.o:    cardfile.h ascii.h
  297.   dumpdb.o:    cardfile.h ascii.h
  298.   extract.o:    cardfile.h ascii.h
  299.  
  300. --- 208,214 -----
  301.   change.o:    cardfile.h ascii.h
  302.   common.o:    cardfile.h ascii.h
  303.   compress.o:    cardfile.h
  304. ! define.o:    cardfile.h ascii.h patchlevel.h
  305.   delete.o:    cardfile.h ascii.h
  306.   dumpdb.o:    cardfile.h ascii.h
  307.   extract.o:    cardfile.h ascii.h
  308. *** old/cardfile.c    Sun Dec  9 17:19:00 1990
  309. --- cardfile.c    Sun Dec  9 16:41:58 1990
  310. ***************
  311. *** 1,5
  312.   #ifndef lint
  313. ! static char Sccsid[] = "@(#)cardfile.c    3.1    DeltaDate 8/3/90    ExtrDate 10/6/90";
  314.   #endif
  315.   
  316.   /*      CARDFILE.C      */
  317.  
  318. --- 1,5 -----
  319.   #ifndef lint
  320. ! static char Sccsid[] = "@(#)cardfile.c    3.2    DeltaDate 12/9/90    ExtrDate 12/9/90";
  321.   #endif
  322.   
  323.   /*      CARDFILE.C      */
  324. ***************
  325. *** 117,123
  326.       strcpy(fname, getfield(line_buf, ":"));
  327.       num_flds = atoi(getfield(0, ":"));
  328.   
  329. !     for (i=0, fp=&fields[0]; i<num_flds; i++, fp++) {    /* get definition of each field */
  330.       if (fgets(line_buf, 132, def_fp) == NULL) {
  331.           printf("DEF file syntax error, field defs\n");
  332.           sleep(5);
  333.  
  334. --- 117,124 -----
  335.       strcpy(fname, getfield(line_buf, ":"));
  336.       num_flds = atoi(getfield(0, ":"));
  337.   
  338. !     /* get definition of each field */
  339. !     for (i = 0, fp = &fields[0]; i < num_flds; i++, fp++) {
  340.       if (fgets(line_buf, 132, def_fp) == NULL) {
  341.           printf("DEF file syntax error, field defs\n");
  342.           sleep(5);
  343. *** old/change.c    Sun Dec  9 17:19:06 1990
  344. --- change.c    Sun Dec  9 16:42:00 1990
  345. ***************
  346. *** 1,5
  347.   #ifndef lint
  348. ! static char Sccsid[] = "@(#)change.c    3.1    DeltaDate 8/3/90    ExtrDate 10/6/90";
  349.   #endif
  350.   
  351.   /*      CHANGE.C        */
  352.  
  353. --- 1,5 -----
  354.   #ifndef lint
  355. ! static char Sccsid[] = "@(#)change.c    3.2    DeltaDate 12/9/90    ExtrDate 12/9/90";
  356.   #endif
  357.   
  358.   /*      CHANGE.C        */
  359. ***************
  360. *** 74,81
  361.       char    c, save[DBSIZE+1];
  362.       long    offset, ftell();
  363.       char    *strchr();
  364. -     int     fn;
  365. -     struct      Fdata   *fp;
  366.       struct      Sdata   *sp;
  367.       char    *first = "Record to be CHANGED";
  368.       char    *last = "RETURN for next, ESC to abort, Ctrl-C to Change, Ctrl-B to reverse";
  369.  
  370. --- 74,79 -----
  371.       char    c, save[DBSIZE+1];
  372.       long    offset, ftell();
  373.       char    *strchr();
  374.       struct      Sdata   *sp;
  375.       char    *first = "Record to be CHANGED";
  376.       char    *last = "RETURN for next, ESC to abort, Ctrl-C to Change, Ctrl-B to reverse";
  377. *** old/define.c    Sun Dec  9 17:19:12 1990
  378. --- define.c    Sun Dec  9 16:42:02 1990
  379. ***************
  380. *** 1,5
  381.   #ifndef lint
  382. ! static char Sccsid[] = "@(#)define.c    3.1    DeltaDate 8/3/90    ExtrDate 10/6/90";
  383.   #endif
  384.   
  385.   /*      DEFINE.C    */
  386.  
  387. --- 1,5 -----
  388.   #ifndef lint
  389. ! static char Sccsid[] = "@(#)define.c    3.2    DeltaDate 12/9/90    ExtrDate 12/9/90";
  390.   #endif
  391.   
  392.   /*      DEFINE.C    */
  393. ***************
  394. *** 15,20
  395.   #include "cardfile.h"
  396.   #include "stdio.h"
  397.   #include "ascii.h"
  398.   #include <ctype.h>
  399.   
  400.   #define    FNAME    0
  401.  
  402. --- 15,21 -----
  403.   #include "cardfile.h"
  404.   #include "stdio.h"
  405.   #include "ascii.h"
  406. + #include "patchlevel.h"
  407.   #include <ctype.h>
  408.   
  409.   #define    FNAME    0
  410. ***************
  411. *** 61,67
  412.               {"FIELD PAGE", 1, page_res, " ",
  413.                   -1, -1, -1, -1, -1, "^[-0-9]$"},
  414.               {"LABEL LINE", 2, lline_res, "  ",
  415. !                 -1, -1, -1, -1, -1, "^[-0-9]$"},
  416.               {"LABEL COLUMN", 2, lcol_res, "  ",
  417.                   -1, 12, 35, -1, -1, "^[-0-9]$"},
  418.               {"DATA FIELD LINE", 2, dline_res, "  ",
  419.  
  420. --- 62,68 -----
  421.               {"FIELD PAGE", 1, page_res, " ",
  422.                   -1, -1, -1, -1, -1, "^[-0-9]$"},
  423.               {"LABEL LINE", 2, lline_res, "  ",
  424. !                 -1, -1, -1, -1, -1, "^[-0-9][0-9]*$"},
  425.               {"LABEL COLUMN", 2, lcol_res, "  ",
  426.                   -1, 12, 35, -1, -1, "^[-0-9][0-9]*$"},
  427.               {"DATA FIELD LINE", 2, dline_res, "  ",
  428. ***************
  429. *** 63,69
  430.               {"LABEL LINE", 2, lline_res, "  ",
  431.                   -1, -1, -1, -1, -1, "^[-0-9]$"},
  432.               {"LABEL COLUMN", 2, lcol_res, "  ",
  433. !                 -1, 12, 35, -1, -1, "^[-0-9]$"},
  434.               {"DATA FIELD LINE", 2, dline_res, "  ",
  435.                   -1, -1, -1, -1, -1, "^[-0-9]$"},
  436.               {"DATA FIELD COLUMN", 2, dcol_res, 0,
  437.  
  438. --- 64,70 -----
  439.               {"LABEL LINE", 2, lline_res, "  ",
  440.                   -1, -1, -1, -1, -1, "^[-0-9][0-9]*$"},
  441.               {"LABEL COLUMN", 2, lcol_res, "  ",
  442. !                 -1, 12, 35, -1, -1, "^[-0-9][0-9]*$"},
  443.               {"DATA FIELD LINE", 2, dline_res, "  ",
  444.                   -1, -1, -1, -1, -1, "^[-0-9][0-9]*$"},
  445.               {"DATA FIELD COLUMN", 2, dcol_res, 0,
  446. ***************
  447. *** 65,71
  448.               {"LABEL COLUMN", 2, lcol_res, "  ",
  449.                   -1, 12, 35, -1, -1, "^[-0-9]$"},
  450.               {"DATA FIELD LINE", 2, dline_res, "  ",
  451. !                 -1, -1, -1, -1, -1, "^[-0-9]$"},
  452.               {"DATA FIELD COLUMN", 2, dcol_res, 0,
  453.                   -1, 14, 35, -1, -1, "^[-0-9]$"},
  454.   #ifdef RE
  455.  
  456. --- 66,72 -----
  457.               {"LABEL COLUMN", 2, lcol_res, "  ",
  458.                   -1, 12, 35, -1, -1, "^[-0-9][0-9]*$"},
  459.               {"DATA FIELD LINE", 2, dline_res, "  ",
  460. !                 -1, -1, -1, -1, -1, "^[-0-9][0-9]*$"},
  461.               {"DATA FIELD COLUMN", 2, dcol_res, 0,
  462.                   -1, 14, 35, -1, -1, "^[-0-9][0-9]*$"},
  463.   #ifndef NO_RE
  464. ***************
  465. *** 67,74
  466.               {"DATA FIELD LINE", 2, dline_res, "  ",
  467.                   -1, -1, -1, -1, -1, "^[-0-9]$"},
  468.               {"DATA FIELD COLUMN", 2, dcol_res, 0,
  469. !                 -1, 14, 35, -1, -1, "^[-0-9]$"},
  470. ! #ifdef RE
  471.               {"FORMAT", MAXFMT, fmt_res, 0,
  472.                   -1, -1, -1, -1, -1, ""},
  473.   #endif
  474.  
  475. --- 68,75 -----
  476.               {"DATA FIELD LINE", 2, dline_res, "  ",
  477.                   -1, -1, -1, -1, -1, "^[-0-9][0-9]*$"},
  478.               {"DATA FIELD COLUMN", 2, dcol_res, 0,
  479. !                 -1, 14, 35, -1, -1, "^[-0-9][0-9]*$"},
  480. ! #ifndef NO_RE
  481.               {"FORMAT", MAXFMT, fmt_res, 0,
  482.                   -1, -1, -1, -1, -1, ""},
  483.   #endif
  484. ***************
  485. *** 91,97
  486.       int     tsize;
  487.       int        opt_out;
  488.   
  489. !     sprintf(first,"DEFINING %s DATA BASE", basename);
  490.       if (access((*datadir ? datadir : "."), 06) != 0) {
  491.       printf("Cannot write into %s\n", (*datadir ? datadir : "."));
  492.       sleep(5);
  493.  
  494. --- 92,99 -----
  495.       int     tsize;
  496.       int        opt_out;
  497.   
  498. !     sprintf(first,"DEFINING %s DATA BASE  -- Cardfile Version %s",
  499. !     basename, VERSION);
  500.       if (access((*datadir ? datadir : "."), 06) != 0) {
  501.       printf("Cannot write into %s\n", (*datadir ? datadir : "."));
  502.       sleep(5);
  503. ***************
  504. *** 133,138
  505.   #ifdef BSD_STRING
  506.       if (islower(def_screen[REQD].S_result[0]))
  507.           fp->F_required = toupper(def_screen[REQD].S_result[0]);
  508.   #else
  509.       fp->F_required = toupper(def_screen[REQD].S_result[0]);
  510.   #endif
  511.  
  512. --- 135,142 -----
  513.   #ifdef BSD_STRING
  514.       if (islower(def_screen[REQD].S_result[0]))
  515.           fp->F_required = toupper(def_screen[REQD].S_result[0]);
  516. +     else
  517. +         fp->F_required = def_screen[REQD].S_result[0];
  518.   #else
  519.       fp->F_required = toupper(def_screen[REQD].S_result[0]);
  520.   #endif
  521. ***************
  522. *** 144,149
  523.   #ifdef BSD_STRING
  524.       if (islower(def_screen[SRCH].S_result[0]))
  525.           fp->F_key = toupper(def_screen[SRCH].S_result[0]);
  526.   #else
  527.       fp->F_key = toupper(def_screen[SRCH].S_result[0]);
  528.   #endif
  529.  
  530. --- 148,155 -----
  531.   #ifdef BSD_STRING
  532.       if (islower(def_screen[SRCH].S_result[0]))
  533.           fp->F_key = toupper(def_screen[SRCH].S_result[0]);
  534. +     else
  535. +         fp->F_key = def_screen[SRCH].S_result[0];
  536.   #else
  537.       fp->F_key = toupper(def_screen[SRCH].S_result[0]);
  538.   #endif
  539. ***************
  540. *** 174,180
  541.       } else {
  542.           fp->F_Lrow = atoi(def_screen[LLINE].S_result);
  543.           if (fp->F_Lrow < 2 || fp->F_Lrow >= MSGLINE) {
  544. !         msg("LABEL ROW field must be less than 22");
  545.           ++err;
  546.           }
  547.       }
  548.  
  549. --- 180,186 -----
  550.       } else {
  551.           fp->F_Lrow = atoi(def_screen[LLINE].S_result);
  552.           if (fp->F_Lrow < 2 || fp->F_Lrow >= MSGLINE) {
  553. !         msg("LABEL LINE field must be less than 22");
  554.           ++err;
  555.           }
  556.       }
  557. ***************
  558. *** 194,200
  559.       } else {
  560.           fp->F_Drow = atoi(def_screen[DLINE].S_result);
  561.           if (fp->F_Drow < 2 || fp->F_Drow >= MSGLINE) {
  562. !         msg("DATA ROW field must be less than 22");
  563.           ++err;
  564.           }
  565.       }
  566.  
  567. --- 200,206 -----
  568.       } else {
  569.           fp->F_Drow = atoi(def_screen[DLINE].S_result);
  570.           if (fp->F_Drow < 2 || fp->F_Drow >= MSGLINE) {
  571. !         msg("DATA LINE field must be less than 22");
  572.           ++err;
  573.           }
  574.       }
  575. *** old/delete.c    Sun Dec  9 17:19:17 1990
  576. --- delete.c    Sun Dec  9 16:42:03 1990
  577. ***************
  578. *** 1,5
  579.   #ifndef lint
  580. ! static char Sccsid[] = "@(#)delete.c    3.1    DeltaDate 8/3/90    ExtrDate 10/6/90";
  581.   #endif
  582.   
  583.   /*    DELETE.C        */
  584.  
  585. --- 1,5 -----
  586.   #ifndef lint
  587. ! static char Sccsid[] = "@(#)delete.c    3.2    DeltaDate 12/9/90    ExtrDate 12/9/90";
  588.   #endif
  589.   
  590.   /*    DELETE.C        */
  591. ***************
  592. *** 71,79
  593.   char    *dummy;
  594.   {
  595.       char    c, save[DBSIZE+1];
  596. -     static      char    fmt[256];
  597. -     int     fn;
  598. -     struct      Fdata   *fp;
  599.       struct      Sdata   *sp;
  600.       char    *first = "Record to be DELETED";
  601.       char    *last = "RETURN for next, ESC to abort, CTL-D to DELETE, CTL-B to reverse";
  602.  
  603. --- 71,76 -----
  604.   char    *dummy;
  605.   {
  606.       char    c, save[DBSIZE+1];
  607.       struct      Sdata   *sp;
  608.       char    *first = "Record to be DELETED";
  609.       char    *last = "RETURN for next, ESC to abort, CTL-D to DELETE, CTL-B to reverse";
  610. *** old/extract.c    Sun Dec  9 17:19:22 1990
  611. --- extract.c    Sun Dec  9 16:42:04 1990
  612. ***************
  613. *** 1,5
  614.   #ifndef lint
  615. ! static char Sccsid[] = "@(#)extract.c    3.1    DeltaDate 8/3/90    ExtrDate 10/6/90";
  616.   #endif
  617.   
  618.   /*      EXTRACT.C       */
  619.  
  620. --- 1,5 -----
  621.   #ifndef lint
  622. ! static char Sccsid[] = "@(#)extract.c    3.2    DeltaDate 12/9/90    ExtrDate 12/9/90";
  623.   #endif
  624.   
  625.   /*      EXTRACT.C       */
  626. ***************
  627. *** 15,21
  628.   char    ext_fname[FNSIZE];
  629.   int     rec_cnt;
  630.   struct Sdata    fn_screen[] = {
  631. !             {"File Name", FNSIZE, ext_fname, NULL},
  632.               {0, 0, 0, 0}
  633.           };
  634.   
  635.  
  636. --- 15,22 -----
  637.   char    ext_fname[FNSIZE];
  638.   int     rec_cnt;
  639.   struct Sdata    fn_screen[] = {
  640. !             {"File Name", FNSIZE, ext_fname, NULL,
  641. !              -1, -1, -1, -1, -1, ""},
  642.               {0, 0, 0, 0}
  643.           };
  644.   
  645. *** old/findrcds.c    Sun Dec  9 17:19:32 1990
  646. --- findrcds.c    Sun Dec  9 16:42:05 1990
  647. ***************
  648. *** 1,5
  649.   #ifndef lint
  650. ! static char Sccsid[] = "@(#)findrcds.c    3.1    DeltaDate 8/3/90    ExtrDate 10/6/90";
  651.   #endif
  652.   
  653.   /*    FINDRCDS.C    */
  654.  
  655. --- 1,5 -----
  656.   #ifndef lint
  657. ! static char Sccsid[] = "@(#)findrcds.c    3.2    DeltaDate 12/9/90    ExtrDate 12/9/90";
  658.   #endif
  659.   
  660.   /*    FINDRCDS.C    */
  661. ***************
  662. *** 19,24
  663.   #include <errno.h>
  664.   #include "ascii.h"
  665.   #include "cardfile.h"
  666.   
  667.   extern    int    readonly;
  668.   
  669.  
  670. --- 19,27 -----
  671.   #include <errno.h>
  672.   #include "ascii.h"
  673.   #include "cardfile.h"
  674. + #ifdef NEWS
  675. + extern int    errno;
  676. + #endif
  677.   
  678.   extern    int    readonly;
  679.   
  680. *** old/screen.c    Sun Dec  9 17:19:40 1990
  681. --- screen.c    Sun Dec  9 16:42:08 1990
  682. ***************
  683. *** 1,5
  684.   #ifndef lint
  685. ! static char Sccsid[] = "@(#)screen.c    3.2    DeltaDate 8/11/90    ExtrDate 10/6/90";
  686.   #endif
  687.   
  688.   /*    SCREEN.C    */
  689.  
  690. --- 1,5 -----
  691.   #ifndef lint
  692. ! static char Sccsid[] = "@(#)screen.c    3.3    DeltaDate 12/9/90    ExtrDate 12/9/90";
  693.   #endif
  694.   
  695.   /*    SCREEN.C    */
  696. ***************
  697. *** 51,56
  698.   #include <ctype.h>
  699.   #include <signal.h>
  700.   #ifdef TERMCAP
  701.   #include <termio.h>
  702.   #define tparm(a, line, col)    tgoto(a, col, line)
  703.   #define    putp(a)        tputs(a, 12, mputc)
  704.  
  705. --- 51,57 -----
  706.   #include <ctype.h>
  707.   #include <signal.h>
  708.   #ifdef TERMCAP
  709. + # ifdef TERMIO
  710.   #include <termio.h>
  711.   # endif
  712.   #define tparm(a, line, col)    tgoto(a, col, line)
  713. ***************
  714. *** 52,57
  715.   #include <signal.h>
  716.   #ifdef TERMCAP
  717.   #include <termio.h>
  718.   #define tparm(a, line, col)    tgoto(a, col, line)
  719.   #define    putp(a)        tputs(a, 12, mputc)
  720.   #else
  721.  
  722. --- 53,59 -----
  723.   #ifdef TERMCAP
  724.   # ifdef TERMIO
  725.   #include <termio.h>
  726. + # endif
  727.   #define tparm(a, line, col)    tgoto(a, col, line)
  728.   #define    putp(a)        tputs(a, 12, mputc)
  729.   #else
  730. ***************
  731. *** 377,383
  732.   #ifdef BSD_SIG
  733.       longjmp(jbuf, 1);
  734.   #endif
  735. -     return;
  736.   }
  737.   
  738.   /*
  739.  
  740. --- 379,384 -----
  741.   #ifdef BSD_SIG
  742.       longjmp(jbuf, 1);
  743.   #endif
  744.   }
  745.   
  746.   /*
  747.  
  748.  
  749. -- 
  750. Dave Lampe
  751. {ames | lll-tis | sun | pyramid}!pacbell!dplace!djl
  752. (415) 455-1571 (H)
  753. (415) 462-7000 (W)
  754.  
  755.  
  756.