v19i002: jgraph - A filter for plotting postscript graphs, Patch04

James Plank jsp at Princeton.EDU
Sun Apr 28 12:41:42 AEST 1991


Submitted-by: James Plank <jsp at 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 at 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 at 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 at 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 at 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 at 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 at uunet.uu.net.



More information about the Comp.sources.misc mailing list