summaryrefslogtreecommitdiff
path: root/Build/source/texk/psutils/psutils-src/psbook.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/psutils/psutils-src/psbook.c')
-rw-r--r--Build/source/texk/psutils/psutils-src/psbook.c111
1 files changed, 0 insertions, 111 deletions
diff --git a/Build/source/texk/psutils/psutils-src/psbook.c b/Build/source/texk/psutils/psutils-src/psbook.c
deleted file mode 100644
index 8bb0b6b6ace..00000000000
--- a/Build/source/texk/psutils/psutils-src/psbook.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/* psbook.c
- * (c) Reuben Thomas 2012-2014
- * (c) Angus J. C. Duggan 1991-1997
- * See file LICENSE for details.
- *
- * rearrange pages in conforming PS file for printing in signatures
- */
-
-#include "config.h"
-
-#include <unistd.h>
-#include "progname.h"
-#include "binary-io.h"
-
-#include "psutil.h"
-
-const char *syntax = "[-q] [-sSIGNATURE] [INFILE [OUTFILE]]\n SIGNATURE must be positive and divisible by 4\n";
-
-const char *argerr_message = "";
-
-int
-main(int argc, char *argv[])
-{
- int signature = 0;
- int currentpg, maxpage;
- int opt;
-
- set_program_name (argv[0]);
-
- verbose = 1;
-
- while((opt = getopt(argc, argv, "vqs:")) != EOF) {
- switch(opt) {
- case 's': /* signature size */
- signature = atoi(optarg);
- if (signature < 1 || signature % 4) usage();
- break;
- case 'q': /* quiet */
- verbose = 0;
- break;
- case 'v': /* version */
- default:
- usage();
- break;
- }
- }
-
- infile = stdin;
- outfile = stdout;
-
- /* Be defensive */
- if((argc - optind) < 0 || (argc - optind) > 2) usage();
-
- if (optind != argc) {
- /* User specified an input file */
- if ((infile = fopen(argv[optind], "rb")) == NULL)
- die("can't open input file %s", argv[optind]);
- optind++;
- }
-
- if (optind != argc) {
- /* User specified an output file */
- if ((outfile = fopen(argv[optind], "wb")) == NULL)
- die("can't open output file %s", argv[optind]);
- optind++;
- }
-
- if(optind != argc) usage();
-
- if (infile == stdin && set_binary_mode(fileno(stdin), O_BINARY) < 0)
- die("can't reset stdin to binary mode");
- if (outfile == stdout && set_binary_mode(fileno(stdout), O_BINARY) < 0)
- die("can't reset stdout to binary mode");
-
- if ((infile=seekable(infile))==NULL)
- die("can't seek input");
-
- scanpages(NULL);
-
- if (!signature)
- signature = maxpage = pages+(4-pages%4)%4;
- else
- maxpage = pages+(signature-pages%signature)%signature;
-
- /* rearrange pages */
- writeheader(maxpage, NULL);
- writeprolog();
- writesetup();
- for (currentpg = 0; currentpg < maxpage; currentpg++) {
- int actualpg = currentpg - currentpg%signature;
- switch(currentpg%4) {
- case 0:
- case 3:
- actualpg += signature-1-(currentpg%signature)/2;
- break;
- case 1:
- case 2:
- actualpg += (currentpg%signature)/2;
- break;
- default: /* Avoid a compiler warning */
- break;
- }
- if (actualpg < pages)
- writepage(actualpg);
- else
- writeemptypage();
- }
- writetrailer();
-
- return 0;
-}