home *** CD-ROM | disk | FTP | other *** search
- *** Makefile.orig Tue Jan 29 12:39:44 1991
- --- Makefile Tue Jan 22 07:32:58 1991
- ***************
- *** 43,49 ****
- install: catcher $(MAN)/catcher.$(MANEXT)
- cp catcher $(BIN)
- chmod 755 $(BIN)/catcher
- - cp catcher.info $(HELPDIR)
-
- $(MAN)/catcher.$(MANEXT): catcher.man
- cp -p catcher.man $(MAN)/catcher.$(MANEXT)
- --- 43,48 ----
- *** Imakefile.orig Tue Jan 29 12:39:47 1991
- --- Imakefile Tue Jan 22 07:32:57 1991
- ***************
- *** 20,26 ****
- ComplexProgramTarget(catcher)
-
- install:: install.man
- - $(INSTALL) -c $(INSTMANFLAGS) catcher.info $(HELPDIR)/catcher.info
-
- manual:
- cd doc; make PRINT="$(PRINT)" PRINTER="$(PRINTER)" manual
- --- 20,25 ----
- *** README.orig Tue Jan 29 12:39:47 1991
- --- README Tue Jan 29 12:37:00 1991
- ***************
- *** 107,109 ****
- --- 107,115 ----
- *********************************************************************************
-
- 1.0 16 Jan 91 Original release
- +
- + 1.0a 29 Jan 91 Patch 1
- + Fixed Imakefile
- + Corrected bug in parser
- + Corrected handling of suffix string
- + Renamed ungetc to last_char in lex.c
- *** lex.c.orig Tue Jan 29 12:39:53 1991
- --- lex.c Tue Jan 29 12:33:55 1991
- ***************
- *** 52,59 ****
- {"value", VALUE},
- {"window", WINDOW_}};
-
- -
- -
- PRIVATE struct {char first;
- char next;
- int name;
- --- 52,57 ----
- ***************
- *** 73,85 ****
- curr_file = "stdin";
- f = stdin;
- line_count = 1;
- ! ungetc = -1;
- return(TRUE);
- }
- else if (f = fopen(path, "r")) {
- curr_file = strsave(path);
- line_count = 1;
- ! ungetc = -1;
- return(TRUE);
- }
- else
- --- 71,83 ----
- curr_file = "stdin";
- f = stdin;
- line_count = 1;
- ! last_char = -1;
- return(TRUE);
- }
- else if (f = fopen(path, "r")) {
- curr_file = strsave(path);
- line_count = 1;
- ! last_char = -1;
- return(TRUE);
- }
- else
- ***************
- *** 92,99 ****
- { register char c;
- static int first = TRUE;
-
- ! if (ungetc != -1)
- ! c = ungetc, ungetc = -1;
- else if (f == NULL)
- return(EOF);
- else {
- --- 90,97 ----
- { register char c;
- static int first = TRUE;
-
- ! if (last_char != -1)
- ! c = last_char, last_char = -1;
- else if (f == NULL)
- return(EOF);
- else {
- ***************
- *** 182,188 ****
- *p++ = c;
- while (isalnum(c = getch()) || c == '_')
- *p++ = c;
- ! ungetc = c;
- *p = '\0';
- temp = strsave(buf);
- for (p = buf; *p; p++)
- --- 180,186 ----
- *p++ = c;
- while (isalnum(c = getch()) || c == '_')
- *p++ = c;
- ! last_char = c;
- *p = '\0';
- temp = strsave(buf);
- for (p = buf; *p; p++)
- ***************
- *** 220,226 ****
- while (isdigit(c = getch()))
- *p++ = c;
- *p = '\0';
- ! ungetc = c;
- yylval.ival = atoi(buf);
- RETURN(INTEGER);
- }
- --- 218,224 ----
- while (isdigit(c = getch()))
- *p++ = c;
- *p = '\0';
- ! last_char = c;
- yylval.ival = atoi(buf);
- RETURN(INTEGER);
- }
- ***************
- *** 240,246 ****
- for (c1 = getch(), j = 1; punc[i + j].first == c; j++)
- if (c1 == punc[i + j].next)
- RETURN(punc[i + j].name);
- ! ungetc = c1;
- RETURN(punc[i].name);
- }
- yyerror("Invalid character in source file: %c (0x%02x)", c, c);
- --- 238,244 ----
- for (c1 = getch(), j = 1; punc[i + j].first == c; j++)
- if (c1 == punc[i + j].next)
- RETURN(punc[i + j].name);
- ! last_char = c1;
- RETURN(punc[i].name);
- }
- yyerror("Invalid character in source file: %c (0x%02x)", c, c);
- *** parse.y.orig Tue Jan 29 12:39:58 1991
- --- parse.y Tue Jan 29 12:33:56 1991
- ***************
- *** 30,42 ****
-
- EXPORT int parse_errors_occured;
-
- ! EXPORT Catch config = {NULL, NULL, "Catcher", NULL, '$', '{', '}', NULL, NULL};
-
- PRIVATE char *get_last_token();
-
- PRIVATE char *curr_file;
- PRIVATE int line_count = 1;
- ! PRIVATE char ungetc = -1;
-
- PRIVATE Command *curr_cmd;
- PRIVATE Option *curr_opt;
- --- 30,42 ----
-
- EXPORT int parse_errors_occured;
-
- ! EXPORT Catch config = {NULL, NULL, "Catcher 1.0a", NULL, '$', '{', '}', NULL, NULL};
-
- PRIVATE char *get_last_token();
-
- PRIVATE char *curr_file;
- PRIVATE int line_count = 1;
- ! PRIVATE char last_char = -1;
-
- PRIVATE Command *curr_cmd;
- PRIVATE Option *curr_opt;
- ***************
- *** 59,66 ****
-
- %token LBRACE RBRACE
-
- ! %token BY CHOICE COMMAND DEFAULT DELIMITER EXCLUSIVE FINISH HORIZONTAL ICON_ ICON_MASK INIT LABEL
- ! %token MESSAGE NONEXCLUSIVE NUMERIC OPTIONAL OUTPUT PARAMETER START SUFFIX TEXT TO VALUE WINDOW_
-
- %type <chval> anon_choice choice
- %type <cpval> command_name delimiter icon icon_mask label message suffix text_init value
- --- 59,66 ----
-
- %token LBRACE RBRACE
-
- ! %token BY CHOICE COMMAND DEFAULT DELIMITER EXCLUSIVE HORIZONTAL ICON_ ICON_MASK INIT LABEL
- ! %token MESSAGE NONEXCLUSIVE NUMERIC OPTIONAL OUTPUT PARAMETER SUFFIX TEXT TO VALUE WINDOW_
-
- %type <chval> anon_choice choice
- %type <cpval> command_name delimiter icon icon_mask label message suffix text_init value
- ***************
- *** 383,389 ****
-
- { char buf1[1024], buf2[1024];
-
- ! sprintf(buf1, "%s: line %d: ", curr_file, line_count - ((ungetc == '\n')? 1 : 0));
- sprintf(buf2, s1, s2, s3, s4, s5, s6, s7);
- strcat(buf1, buf2);
- if (strcmp(s1, "syntax error") == 0) {
- --- 383,389 ----
-
- { char buf1[1024], buf2[1024];
-
- ! sprintf(buf1, "%s: line %d: ", curr_file, line_count - ((last_char == '\n')? 1 : 0));
- sprintf(buf2, s1, s2, s3, s4, s5, s6, s7);
- strcat(buf1, buf2);
- if (strcmp(s1, "syntax error") == 0) {
- *** patchlevel.h.orig Tue Jan 29 12:40:00 1991
- --- patchlevel.h Tue Jan 29 12:11:30 1991
- ***************
- *** 0 ****
- --- 1,29 ----
- + /************************************************************************/
- + /* Copyright 1987-1991 by Chuck Musciano and Harris Corporation */
- + /* */
- + /* Full ownership of this software, and all rights pertaining to */
- + /* the for-profit distribution of this software, are retained by */
- + /* Chuck Musciano and Harris Corporation. You are permitted to */
- + /* use this software without fee. This software is provided "as */
- + /* is" without express or implied warranty. You may redistribute */
- + /* this software, provided that this copyright notice is retained, */
- + /* and that the software is not distributed for profit. If you */
- + /* wish to use this software in a profit-making venture, you must */
- + /* first license this code and its underlying technology from */
- + /* Harris Corporation. */
- + /* */
- + /* Bottom line: you can have this software, you can use it, you */
- + /* can give it away. You just can't sell any or all parts of it */
- + /* without prior permission from Harris Corporation. */
- + /************************************************************************/
- +
- + /************************************************************************/
- + /* */
- + /* Patch Comments */
- + /* 0 Initial release */
- + /* comp.sources.x: Volume 11, Issues 6-10 */
- + /* */
- + /* 1 Bug fixes; see README for details */
- + /* comp.sources.x: Volume 11, Issue ? */
- + /* */
- + /************************************************************************/
- *** process.c.orig Tue Jan 29 12:40:01 1991
- --- process.c Tue Jan 29 12:33:57 1991
- ***************
- *** 340,350 ****
- { char *path;
- FILE *f;
-
- ! path = (char *) malloc(strlen(config.suffix) + 22);
- strcpy(path, "/tmp/catcher.XXXXXX");
- mktemp(path);
- ! strcat(path, ".");
- ! strcat(path, config.suffix);
- if ((f = fopen(path, "w")) == NULL)
- error("cannot open %s for writing: %s", path, sys_errlist[errno]);
- else if (fwrite(data, 1, strlen(data), f) != strlen(data)) {
- --- 340,352 ----
- { char *path;
- FILE *f;
-
- ! path = (char *) malloc((config.suffix? strlen(config.suffix) : 0) + 22);
- strcpy(path, "/tmp/catcher.XXXXXX");
- mktemp(path);
- ! if (config.suffix) {
- ! strcat(path, ".");
- ! strcat(path, config.suffix);
- ! }
- if ((f = fopen(path, "w")) == NULL)
- error("cannot open %s for writing: %s", path, sys_errlist[errno]);
- else if (fwrite(data, 1, strlen(data), f) != strlen(data)) {
-