home *** CD-ROM | disk | FTP | other *** search
- From: jsp@Princeton.EDU (James Plank)
- Newsgroups: comp.sources.misc
- Subject: v19i002: jgraph - A filter for plotting postscript graphs, Patch04
- Message-ID: <1991Apr28.024142.8335@sparky.IMD.Sterling.COM>
- Date: 28 Apr 91 02:41:42 GMT
- Approved: kent@sparky.imd.sterling.com
- X-Checksum-Snefru: 86901657 d5439c91 64e88811 fc27d1d4
-
- Submitted-by: James Plank <jsp@Princeton.EDU>
- Posting-number: Volume 19, Issue 2
- Archive-name: jgraph/patch04
- Patch-To: jgraph: Volume 16, Issue 20
-
- Patch #4 deals with a whole bunch of bugs:
-
- - It makes patch #3 dealable from VMS.
- - It fixes bugs in token.c where EOF was unfindable on SGI machines
- - It fixes bugs in show.c where 'newstrings' were causing core dumps
- - It fixes bugs in jgraph.c where labels were getting bogus default
- values.
-
- Thanks to hdavids@mswe1.dnet.ms.philips.nl, Michel Dansereau, Jim Service,
- Mary Fernandez and Heather Booth for reporting and helping to fix these
- bugs. Please contact me with other bug reports.
-
- Jim Plank
- jsp@princeton.edu
- -----
- # To unbundle, "sed '1,/^# To unbundle/d' < thisfile | sh"
- # Thu Apr 25 12:05:31 EDT 1991
- echo PATCH.4.README 1>&2
- sed 's/^-//' >'PATCH.4.README' <<'End of PATCH.4.README'
- -Patch #4 deals with a whole bunch of bugs:
- -
- - - It makes patch #3 dealable from VMS.
- - - It fixes bugs in token.c where EOF was unfindable on SGI machines
- - - It fixes bugs in show.c where 'newstrings' were causing core dumps
- - - It fixes bugs in jgraph.c where labels were getting bogus default
- - values.
- -
- -Thanks to hdavids@mswe1.dnet.ms.philips.nl, Michel Dansereau, Jim Service,
- -Mary Fernandez and Heather Booth for reporting and helping to fix these
- -bugs. Please contact me with other bug reports.
- -
- -Install this patch with:
- -
- -patch < patch.4
- -
- -
- -Finally, if you're having problems installing patches, or if you're
- -confused because you've changed the sources and patches no longer
- -work, send me email, and I can send you the most recent export.
- -
- -Jim Plank
- -jsp@princeton.edu
- End of PATCH.4.README
- echo patch.4 1>&2
- sed 's/^-//' >'patch.4' <<'End of patch.4'
- -*** /dev/null Thu Apr 25 11:44:19 1991
- ---- descrip.mms Thu Apr 25 10:52:27 1991
- -***************
- -*** 0 ****
- ---- 1,44 ----
- -+ CC = cc
- -+
- -+ .ifdef DEBUG
- -+ CFLAGS=/noopt/debug
- -+ LFLAGS=/debug
- -+ .else
- -+ CFLAGS=
- -+ LFLAGS=
- -+ .endif
- -+
- -+ OBJS = draw.obj, \
- -+ edit.obj, \
- -+ jgraph.obj, \
- -+ list.obj, \
- -+ printline.obj, \
- -+ prio_list.obj, \
- -+ process.obj, \
- -+ show.obj, \
- -+ token.obj
- -+
- -+ all : jgraph.exe
- -+ ! done
- -+
- -+ .SUFFIXES : .jgr .jps .tex .dvi
- -+
- -+ .jgr.jps :
- -+ jgraph < $*.jgr > *.jps
- -+
- -+ .tex.dvi :
- -+ latex $*.tex
- -+
- -+ jgraph.exe : $(OBJS)
- -+ link $(LFLAGS) /exe=jgraph $(OBJS)
- -+
- -+ ###
- -+ draw.obj : draw.c jgraph.h list.h prio_list.h
- -+ edit.obj : edit.c jgraph.h list.h prio_list.h
- -+ jgraph.obj : jgraph.c jgraph.h list.h prio_list.h
- -+ list.obj : list.c list.h
- -+ printline.obj : printline.c jgraph.h list.h prio_list.h
- -+ prio_list.obj : prio_list.c list.h prio_list.h
- -+ process.obj : process.c jgraph.h list.h prio_list.h
- -+ show.obj : show.c jgraph.h list.h prio_list.h
- -+ token.obj : token.c list.h
- -*** ../patches/patch.3/work/jgraph.1 Thu Apr 25 11:44:25 1991
- ---- jgraph.1 Thu Apr 25 10:52:31 1991
- -***************
- -*** 130,139 ****
- - .TP
- - .B Shell\-include statements
- - Shell include statements are of the form ``shell'', ``:'', and then
- -! a string. The result of the statment is that the string is executed
- - (using popen, which passes the string to sh), and the standard
- - output is included at that point. Shell-includes can be freely
- - nested within include-files and other shell-includes.
- - .TP
- - .B Notation
- - In the descriptions below:
- ---- 130,140 ----
- - .TP
- - .B Shell\-include statements
- - Shell include statements are of the form ``shell'', ``:'', and then
- -! a string. The result of the statement is that the string is executed
- - (using popen, which passes the string to sh), and the standard
- - output is included at that point. Shell-includes can be freely
- - nested within include-files and other shell-includes.
- -+ The shell statement is not (yet) available on VMS.
- - .TP
- - .B Notation
- - In the descriptions below:
- -*** ../patches/patch.3/work/jgraph.c Thu Apr 25 11:44:26 1991
- ---- jgraph.c Thu Apr 25 10:52:28 1991
- -***************
- -*** 53,63 ****
- -
- - l = (Label) malloc (sizeof(struct label));
- - l->label = CNULL;
- -! l->hj = '!';
- -! l->vj = '!';
- -! l->font = CNULL;
- -! l->fontsize = FSIG;
- -! l->rotate = FSIG;
- -
- - return l;
- - }
- ---- 53,63 ----
- -
- - l = (Label) malloc (sizeof(struct label));
- - l->label = CNULL;
- -! l->hj = 'c';
- -! l->vj = 'b';
- -! l->font = "Times-Roman"; /* 3 lines excluded from patch3 */
- -! l->fontsize = 9.0;
- -! l->rotate = 0;
- -
- - return l;
- - }
- -*** ../patches/patch.3/work/list.c Thu Apr 25 11:44:28 1991
- ---- list.c Thu Apr 25 10:52:28 1991
- -***************
- -*** 45,51 ****
- - item->flink = list;
- - }
- -
- -! delete(item) /* Deletes an arbitrary iterm */
- - List item;
- - {
- - item->flink->blink = item->blink;
- ---- 45,51 ----
- - item->flink = list;
- - }
- -
- -! delete_item(item) /* Deletes an arbitrary iterm */
- - List item;
- - {
- - item->flink->blink = item->blink;
- -*** ../patches/patch.3/work/list.h Thu Apr 25 11:44:29 1991
- ---- list.h Thu Apr 25 10:52:29 1991
- -***************
- -*** 29,35 ****
- - /* These are the routines for manipluating lists */
- -
- - /* void insert(node list); Inserts a node to the end of a list */
- -! /* void delete(node); Deletes an arbitrary node */
- - /* List make_list(node_size); Creates a new list */
- - /* List get_node(list); Allocates a node to be inserted into the list */
- - /* void free_node(node, list); Deallocates a node from the list */
- ---- 29,35 ----
- - /* These are the routines for manipluating lists */
- -
- - /* void insert(node list); Inserts a node to the end of a list */
- -! /* void delete_item(node); Deletes an arbitrary node */
- - /* List make_list(node_size); Creates a new list */
- - /* List get_node(list); Allocates a node to be inserted into the list */
- - /* void free_node(node, list); Deallocates a node from the list */
- -*** ../patches/patch.3/work/makefile Thu Apr 25 11:44:29 1991
- ---- makefile Thu Apr 25 10:52:31 1991
- -***************
- -*** 1,4 ****
- -- LISTSOURCE = /u/jsp/src/list
- - CC = cc
- -
- - OBJS = draw.o \
- ---- 1,3 ----
- -*** ../patches/patch.3/work/show.c Thu Apr 25 11:44:32 1991
- ---- show.c Thu Apr 25 10:52:30 1991
- -***************
- -*** 245,251 ****
- - for (s = first(g->strings); s != nil(g->strings); s = next(s)) {
- - spaces(nsp);
- - printf("string %d\n", s->num);
- -! show_label(s, nsp+2, g);
- - }
- - }
- -
- ---- 245,251 ----
- - for (s = first(g->strings); s != nil(g->strings); s = next(s)) {
- - spaces(nsp);
- - printf("string %d\n", s->num);
- -! show_label(s->s, nsp+2, g);
- - }
- - }
- -
- -*** ../patches/patch.3/work/token.c Thu Apr 25 11:44:39 1991
- ---- token.c Thu Apr 25 10:52:30 1991
- -***************
- -*** 65,71 ****
- - char *filename;
- - FILE *stream;
- - int oldcharvalid;
- -! char oldchar;
- - char pipe;
- - int line;
- - } *Iostack;
- ---- 65,71 ----
- - char *filename;
- - FILE *stream;
- - int oldcharvalid;
- -! signed char oldchar;
- - char pipe;
- - int line;
- - } *Iostack;
- -***************
- -*** 72,78 ****
- -
- - static char INPUT[300];
- - static int getnew = 1;
- -! static char oldchar = '\0';
- - static oldcharvalid = 0;
- - static char pipe = 0;
- - static int eof = 0;
- ---- 72,78 ----
- -
- - static char INPUT[300];
- - static int getnew = 1;
- -! static signed char oldchar = '\0';
- - static oldcharvalid = 0;
- - static char pipe = 0;
- - static int eof = 0;
- -***************
- -*** 93,98 ****
- ---- 93,112 ----
- - stack = (Iostack) make_list(sizeof(struct iostack)); \
- - init = 1; }}
- -
- -+ #ifdef VMS
- -+ /* On VMS, there are no popen() and pclose(), so we provide dummies here. */
- -+ FILE *popen(command, type)
- -+ char *command, *type;
- -+ {
- -+ return(NULL);
- -+ }
- -+ int pclose(stream)
- -+ FILE *stream;
- -+ {
- -+ return(-1);
- -+ }
- -+ #endif /*VMS*/
- -+
- - error_header()
- - {
- - iostackinit();
- -***************
- -*** 117,123 ****
- - char *s;
- - {
- - int i;
- -! char c;
- -
- - for (c = gettokenchar();
- - c == ' ' || c == '\t' || c == '\n';
- ---- 131,137 ----
- - char *s;
- - {
- - int i;
- -! signed char c;
- -
- - for (c = gettokenchar();
- - c == ' ' || c == '\t' || c == '\n';
- -***************
- -*** 205,211 ****
- - line = n->line;
- - oldchar = n->oldchar;
- - oldcharvalid = n->oldcharvalid;
- -! delete(n);
- - free_node(n, stack);
- - }
- -
- ---- 219,225 ----
- - line = n->line;
- - oldchar = n->oldchar;
- - oldcharvalid = n->oldcharvalid;
- -! delete_item(n);
- - free_node(n, stack);
- - }
- -
- -***************
- -*** 235,240 ****
- ---- 249,258 ----
- - }
- - } else if (strcmp(INPUT, "shell") == 0) {
- - char *s, fn[30];
- -+ #ifdef VMS
- -+ fprintf(stderr, "No shell option on VMS, sorry.\n");
- -+ exit(1);
- -+ #endif /*VMS*/
- - if (gettoken(INPUT) == 0 || strcmp(INPUT, ":") != 0) {
- - error_header();
- - fprintf(stderr, "'shell' must be followed by ':'\n");
- -***************
- -*** 343,349 ****
- -
- - char *getlabel()
- - {
- -! char c;
- - int i;
- -
- - if (getnew == 0) return CNULL;
- ---- 361,367 ----
- -
- - char *getlabel()
- - {
- -! signed char c;
- - int i;
- -
- - if (getnew == 0) return CNULL;
- -***************
- -*** 364,370 ****
- -
- - int getsystemstring()
- - {
- -! char c;
- - int i;
- -
- - if (getnew == 0) return 0;
- ---- 382,388 ----
- -
- - int getsystemstring()
- - {
- -! signed char c;
- - int i;
- -
- - if (getnew == 0) return 0;
- -***************
- -*** 387,390 ****
- - {
- - getnew = 0;
- - }
- --
- ---- 405,407 ----
- End of patch.4
-
- exit 0 # Just in case...
- --
- Kent Landfield INTERNET: kent@sparky.IMD.Sterling.COM
- Sterling Software, IMD UUCP: uunet!sparky!kent
- Phone: (402) 291-8300 FAX: (402) 291-4362
- Please send comp.sources.misc-related mail to kent@uunet.uu.net.
-