summaryrefslogtreecommitdiff
path: root/print/lprps/files/patch-textps.c
diff options
context:
space:
mode:
Diffstat (limited to 'print/lprps/files/patch-textps.c')
-rw-r--r--print/lprps/files/patch-textps.c54
1 files changed, 54 insertions, 0 deletions
diff --git a/print/lprps/files/patch-textps.c b/print/lprps/files/patch-textps.c
new file mode 100644
index 000000000000..3e8cfe11dfc3
--- /dev/null
+++ b/print/lprps/files/patch-textps.c
@@ -0,0 +1,54 @@
+--- textps.c.orig 1993-02-22 21:46:10.000000000 +0900
++++ textps.c 2013-04-27 23:04:41.000000000 +0900
+@@ -41,10 +41,12 @@
+ #endif /* not BOLD_FONT */
+
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <ctype.h>
+ #include <string.h>
+
+-extern char *malloc();
++#include <paper.h>
++
+ extern char *optarg;
+ extern int optind;
+
+@@ -86,10 +88,24 @@
+ exit(1);
+ }
+
++const struct paper *findpaper(char *name)
++{
++ const struct paper *pp;
++
++ paperinit();
++ for (pp = paperfirst(); pp; pp = papernext(pp)) {
++ if (strcmp(name, papername(pp)) == 0)
++ return (pp);
++ }
++ return (NULL);
++}
++
+ main(argc, argv)
+ int argc;
+ char **argv;
+ {
++ const struct paper *pp;
++ char *name;
+ int bad_files = 0;
+ double cpi = 12.0; /* characters per inch */
+ int opt;
+@@ -124,6 +140,12 @@
+ abort();
+ }
+
++ name = (char *)systempapername();
++ if (name == NULL)
++ name = (char *)defaultpapername();
++ if ((pp = findpaper(name)) != NULL)
++ page_length = paperpsheight(pp);
++
+ char_width = 72.0/cpi;
+ prologue();
+ if (optind >= argc)