--- t1utils-real/t1asm.c	2003-03-26 12:45:07.000000000 -0500
+++ t1utils-1.27/t1asm.c	2011-07-21 21:47:16.000000000 -0400
@@ -64,7 +64,7 @@
 #include <lcdf/clp.h>
 #include "t1lib.h"
 
-#define LINESIZE 512
+#define LINESIZE 1048576
 
 typedef unsigned char byte;
 
@@ -85,7 +85,7 @@
 
 /* lenIV and charstring start command */
 static int lenIV = 4;
-static char cs_start[10];
+static char cs_start[10] = "x";
 
 /* for charstring buffering */
 static byte charstring_buf[65535];
@@ -718,7 +718,7 @@
   while (!feof(ifp) && !ferror(ifp)) {
     getline();
     
-    if (!ever_active) {
+    if (1) {
       if (strncmp(line, "currentfile eexec", 17) == 0) {
 	/* Allow arbitrary whitespace after "currentfile eexec".
 	   Thanks to Tom Kacvinsky <[email protected]> for reporting this.
@@ -741,10 +741,14 @@
 	  while (!isspace(*q) && *q != '{')
 	    *r++ = *q++;
 	  *r = '\0';
+	  *p = 's';
+	  strcpy(q + 4096, q);
+	  memset(q, 'x', 4096);
+	} else {
+	  *p = 's';                                   /* repair line[] */
+	}
+	  }
 	}
-	*p = 's';                                   /* repair line[] */
-      }
-    }
 
     if (!active) {
       if ((p = strstr(line, "/Subrs")) && isdigit(p[7]))