Checkpoint.
diff --git a/src/cmd/postscript/tr2post/tr2post.c b/src/cmd/postscript/tr2post/tr2post.c
index d60e0c7..acfe604 100644
--- a/src/cmd/postscript/tr2post/tr2post.c
+++ b/src/cmd/postscript/tr2post/tr2post.c
@@ -23,7 +23,7 @@
 Biobuf *Bstdin, *Bstdout, *Bstderr;
 int debug = 0;
 
-char tmpfilename[MAXTOKENSIZE];
+char tmpfilename[MAXPATHLEN+1];
 char copybuf[BUFSIZ];
 
 
@@ -41,20 +41,20 @@
 	Bprint(Bstdout, "%s %s\n", PAGES, ATEND);
 	Bprint(Bstdout, "%s", ENDCOMMENTS);
 
-	if (cat(unsharp(DPOST))) {
+	if (cat(DPOST)) {
 		Bprint(Bstderr, "can't read %s\n", DPOST);
 		exits("dpost prologue");
 	}
 
 	if (drawflag) {
-		if (cat(unsharp(DRAW))) {
+		if (cat(DRAW)) {
 			Bprint(Bstderr, "can't read %s\n", DRAW);
 			exits("draw prologue");
 		}
 	}
 
 	if (DOROUND)
-		cat(unsharp(ROUNDPAGE));
+		cat(ROUNDPAGE);
 
 	Bprint(Bstdout, "%s", ENDPROLOG);
 	Bprint(Bstdout, "%s", BEGINSETUP);
@@ -70,19 +70,19 @@
 	if (pointsize != 10) Bprint(Bstdout, "/pointsize %d def\n", pointsize);
 	if (xoffset != .25) Bprint(Bstdout, "/xoffset %g def\n", xoffset);
 	if (yoffset != .25) Bprint(Bstdout, "/yoffset %g def\n", yoffset);
-	cat(unsharp(ENCODINGDIR"/Latin1.enc"));
+	cat(ENCODINGDIR"/Latin1.enc");
 	if (passthrough != 0) Bprint(Bstdout, "%s\n", passthrough);
 
 	Bprint(Bstdout, "setup\n");
 	if (formsperpage > 1) {
-		cat(unsharp(FORMFILE));
+		cat(FORMFILE);
 		Bprint(Bstdout, "%d setupforms \n", formsperpage);
 	}
 /* output Build character info from charlib if necessary. */
 
 	for (i=0; i<build_char_cnt; i++) {
 		sprint(charlibname, "%s/%s", CHARLIB, build_char_list[i]->name);
-		if (cat(unsharp(charlibname)))
+		if (cat(charlibname))
 		Bprint(Bstderr, "cannot open %s\n", charlibname);
 	}
 
@@ -95,24 +95,26 @@
 }
 
 main(int argc, char *argv[]) {
+	Biobuf btmp;
 	Biobuf *binp;
-	Biobuf *Binp;
-	int i, tot, ifd;
+	Biobufhdr *Binp;
+	int i, tot, ifd, fd;
 	char *t;
 
 	programname = argv[0];
 	if (Binit(&bstderr, 2, OWRITE) == Beof) {
 		exits("Binit");
 	}
-	Bstderr = &bstderr;
+	Bstderr = &bstderr;  /* &bstderr.Biobufhdr; */
 
-	tmpnam(tmpfilename);
-	if ((bstdout=Bopen(tmpfilename, OWRITE)) == 0) {
+	bstdout = &btmp;
+	fd = safe_tmpnam(tmpfilename);
+	if ((Binit(bstdout, fd, OWRITE)) == Beof) {
 		Bprint(Bstderr, "cannot open temporary file %s\n", tmpfilename);
 		exits("Bopen");
 	}
 	atexit(cleanup);
-	Bstdout = bstdout;
+	Bstdout = bstdout; /* &bstdout->Biobufhdr; */
 	
 	ARGBEGIN{
 		case 'a':			/* aspect ratio */
@@ -169,7 +171,7 @@
 			Bprint(Bstderr, "Binit of <stdin> failed.\n");
 			exits("Binit");
 		}
-		Binp = binp;
+		Binp = binp; /* &(binp->Biobufhdr); */
 		if (debug) Bprint(Bstderr, "using standard input\n");
 		conv(Binp);
 		Bterm(Binp);
@@ -179,7 +181,7 @@
 			Bprint(Bstderr, "cannot open file %s\n", argv[i]);
 			continue;
 		}
-		Binp = binp;
+		Binp = binp; /* &(binp->Biobufhdr); */
 		inputfilename = argv[i];
 		conv(Binp);
 		Bterm(Binp);
@@ -196,7 +198,7 @@
 		Bprint(Bstderr, "Binit of <stdout> failed.\n");
 		exits("Binit");
 	}
-	Bstdout = bstdout;
+	Bstdout = bstdout; /* &(bstdout->Biobufhdr); */
 	prologues();
 	Bflush(Bstdout);
 	tot = 0; i = 0;