diff options
author | ru <ru@FreeBSD.org> | 2000-12-05 18:52:33 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2000-12-05 18:52:33 +0000 |
commit | c7f016832bc2c08ffd608e589eab9479c43f889f (patch) | |
tree | 49f6f68148dfa2a309de212e53b88a997ecfed2c /contrib/groff/psbb | |
parent | 7c20aabe3d743227b595c80f68ddd7437f1fe991 (diff) | |
download | FreeBSD-src-c7f016832bc2c08ffd608e589eab9479c43f889f.zip FreeBSD-src-c7f016832bc2c08ffd608e589eab9479c43f889f.tar.gz |
Removed files not present in v1.16.1 import.
Diffstat (limited to 'contrib/groff/psbb')
-rw-r--r-- | contrib/groff/psbb/Makefile.dep | 1 | ||||
-rw-r--r-- | contrib/groff/psbb/Makefile.sub | 5 | ||||
-rw-r--r-- | contrib/groff/psbb/psbb.c | 169 | ||||
-rw-r--r-- | contrib/groff/psbb/psbb.man | 43 |
4 files changed, 0 insertions, 218 deletions
diff --git a/contrib/groff/psbb/Makefile.dep b/contrib/groff/psbb/Makefile.dep deleted file mode 100644 index 51d2bcb..0000000 --- a/contrib/groff/psbb/Makefile.dep +++ /dev/null @@ -1 +0,0 @@ -psbb.o: psbb.c diff --git a/contrib/groff/psbb/Makefile.sub b/contrib/groff/psbb/Makefile.sub deleted file mode 100644 index 106721a..0000000 --- a/contrib/groff/psbb/Makefile.sub +++ /dev/null @@ -1,5 +0,0 @@ -PROG=psbb -MAN1=psbb.n -OBJS=psbb.o -CSRCS=psbb.c -XLIBS= diff --git a/contrib/groff/psbb/psbb.c b/contrib/groff/psbb/psbb.c deleted file mode 100644 index 3d1f343..0000000 --- a/contrib/groff/psbb/psbb.c +++ /dev/null @@ -1,169 +0,0 @@ -/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. - Written by James Clark (jjc@jclark.com) - -This file is part of groff. - -groff is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2, or (at your option) any later -version. - -groff is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with groff; see the file COPYING. If not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#include <stdio.h> -#include <string.h> -#include <errno.h> -#ifndef errno -extern int errno; -#endif - -struct bounding_box { - int llx, lly, urx, ury; -}; - -#ifdef __STDC__ -const char *do_file(FILE *, struct bounding_box *); -int parse_bounding_box(char *, struct bounding_box *); -#else -#define const /* as nothing */ -const char *do_file(); -int parse_bounding_box(); -#endif - -int main(argc, argv) -int argc; -char **argv; -{ - FILE *fp; - const char *message; - struct bounding_box bb; - if (argc != 2) { - fprintf(stderr, "usage: %s filename\n", argv[0]); - exit(3); - } - errno = 0; - fp = fopen(argv[1], "r"); - if (fp == NULL) { - fprintf(stderr, "%s: can't open `%s': ", argv[0], argv[1]); - perror((char *)NULL); - exit(2); - } - message = do_file(fp, &bb); - if (message) { - fprintf(stderr, "%s: ", argv[0]); - fprintf(stderr, message, argv[1]); - putc('\n', stderr); - exit(1); - } - printf("%d %d %d %d\n", bb.llx, bb.lly, bb.urx, bb.ury); - exit(0); -} - -/* If the bounding box was found return NULL, and store the bounding box -in bb. If the bounding box was not found return a string suitable for -giving to printf with the filename as an argument saying why not. */ - -const char *do_file(fp, bb) -FILE *fp; -struct bounding_box *bb; -{ - int bb_at_end = 0; - char buf[256]; - if (!fgets(buf, sizeof(buf), fp)) - return "%s is empty"; - if (strncmp("%!PS-Adobe-", buf, 11) != 0) - return "%s is not conforming"; - while (fgets(buf, sizeof(buf), fp) != 0) { - if (buf[0] != '%' || buf[1] != '%' - || strncmp(buf + 2, "EndComments", 11) == 0) - break; - if (strncmp(buf + 2, "BoundingBox:", 12) == 0) { - int res = parse_bounding_box(buf + 14, bb); - if (res == 1) - return NULL; - else if (res == 2) { - bb_at_end = 1; - break; - } - else - return "the arguments to the %%%%BoundingBox comment in %s are bad"; - } - } - if (bb_at_end) { - long offset; - int last_try = 0; - /* in the trailer, the last BoundingBox comment is significant */ - for (offset = 512; !last_try; offset *= 2) { - int had_trailer = 0; - int got_bb = 0; - if (offset > 32768 || fseek(fp, -offset, 2) == -1) { - last_try = 1; - if (fseek(fp, 0L, 0) == -1) - break; - } - while (fgets(buf, sizeof(buf), fp) != 0) { - if (buf[0] == '%' && buf[1] == '%') { - if (!had_trailer) { - if (strncmp(buf + 2, "Trailer", 7) == 0) - had_trailer = 1; - } - else { - if (strncmp(buf + 2, "BoundingBox:", 12) == 0) { - int res = parse_bounding_box(buf + 14, bb); - if (res == 1) - got_bb = 1; - else if (res == 2) - return "`(atend)' not allowed in trailer"; - else - return "the arguments to the %%%%BoundingBox comment in %s are bad"; - } - } - } - } - if (got_bb) - return NULL; - } - } - return "%%%%BoundingBox comment not found in %s"; -} - -/* Parse the argument to a %%BoundingBox comment. Return 1 if it -contains 4 numbers, 2 if it contains (atend), 0 otherwise. */ - -int parse_bounding_box(p, bb) -char *p; -struct bounding_box *bb; -{ - if (sscanf(p, "%d %d %d %d", - &bb->llx, &bb->lly, &bb->urx, &bb->ury) == 4) - return 1; - else { - /* The Document Structuring Conventions say that the numbers - should be integers. Unfortunately some broken applications - get this wrong. */ - double x1, x2, x3, x4; - if (sscanf(p, "%lf %lf %lf %lf", &x1, &x2, &x3, &x4) == 4) { - bb->llx = (int)x1; - bb->lly = (int)x2; - bb->urx = (int)x3; - bb->ury = (int)x4; - return 1; - } - else { - for (; *p == ' ' || *p == '\t'; p++) - ; - if (strncmp(p, "(atend)", 7) == 0) { - return 2; - } - } - } - return 0; -} - diff --git a/contrib/groff/psbb/psbb.man b/contrib/groff/psbb/psbb.man deleted file mode 100644 index 4c6ac8c..0000000 --- a/contrib/groff/psbb/psbb.man +++ /dev/null @@ -1,43 +0,0 @@ -.ig \"-*- nroff -*- -Copyright (C) 1989-1995 Free Software Foundation, Inc. - -Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. - -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided that the -entire resulting derived work is distributed under the terms of a -permission notice identical to this one. - -Permission is granted to copy and distribute translations of this -manual into another language, under the above conditions for modified -versions, except that this permission notice may be included in -translations approved by the Free Software Foundation instead of in -the original English. -.. -.TH PSBB @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@" -.SH NAME -psbb \- extract bounding box from PostScript document -.SH SYNOPSIS -.B psbb -.I file -.SH DESCRIPTION -psbb reads -.I file -which should be a PostScript document conforming to -the Document Structuring conventions -and looks for a -.B %%BoundingBox -comment. -If it finds one, -it prints a line -.IP -.I -llx lly urx ury -.LP -on the standard output and exits with zero status. -If it doesn't find such a line or if the line is invalid -it prints a message and exits with non-zero status. -.SH "SEE ALSO" -.BR grops (@MAN1EXT@) |