[comp.protocols.appletalk] Laserwriter 7 & lwsrv : quick'n'dirty patch

gilbertd@cricket.bio.indiana.edu (Don Gilbert) (05/24/91)

A very quick'n'dirty patch to get CAP lwsrv to work with
Laserwriter/Mac System 7.   Not to be confused with the
fine job that some others are doing to provide well-designed
additions to CAP.  

This patch causes the first "BeginProcSet", the Laserwriter-specific, 
ExitServer code to be vaporized, while the second procset, the
important one (at least for my printer) is stored with other
AppleDicts that lwsrv stores and reads. For my DEC LNO3R postscript printer, 
the only modifications to this laserwriter 7 appledict that I need are  
  %%BeginProcSet: "(AppleDict md)" 71 0
  grestoreall   %% DEC LNO3R patch, dgg
  initgraphics  %% DEC LNO3R patch, dgg
otherwise I get mirror-image pages.

Patch to function getjob of
file simple.c (v 1.16 88/05/21) of
program lwsrv of 
CAP (Rutgers Univ. version 2)
-----------
int
getjob(pf,of)
PFILE *pf;
FILE *of;
{
  char *ts,adictver[80];
  int ltokval,tokval,echo;
  DictList *dl = NULL;		/* current dictionary */
  DictList *dlnew = NULL;	/* new dictionary */
+ int didExitServer = FALSE;	/* lw7 patch, dgg*/ 
-----------
   case TOK_BPS:
      push(tokval);			/* remember where */
      echo = FALSE;
      stripspaces(ts);			/* clear off extra spaces */

+    /* patch for lw7, dgg*/  
+   if ((strpbrk("\"(AppleDict md)\" 71 0", ts) != NULL) 
+    && (didExitServer)) 
+		 break;   
-------------
    case TOK_BEGIN:
      push(tokval);
+     didExitServer = TRUE;  /* lw7 patch, dgg*/
      echo = FALSE;
      break;
-------------
	
-- 
Don Gilbert                                     gilbert@bio.indiana.edu
biocomputing office, biology dept., indiana univ., bloomington, in 47405