From cf2d414a08942d8126647ce1fa72dd054a45ba01 Mon Sep 17 00:00:00 2001 From: matthieu Date: Mon, 21 May 2018 18:08:21 +0000 Subject: [PATCH] Update to xpr 1.0.5 --- app/xpr/ChangeLog | 145 ++++++++++++++ app/xpr/Makefile.am | 2 +- app/xpr/Makefile.in | 12 +- app/xpr/aclocal.m4 | 64 +++++-- app/xpr/autogen.sh | 12 +- app/xpr/compile | 347 +++++++++++++++++++++++++++++++++ app/xpr/configure | 104 ++++++---- app/xpr/configure.ac | 6 +- app/xpr/lncmd.h | 1 - app/xpr/pmp.h | 4 - app/xpr/x2jet.c | 2 - app/xpr/x2pmp.c | 5 - app/xpr/xdpr.man | 5 +- app/xpr/xdpr.script | 1 - app/xpr/xpr.c | 448 +++++++++++++++++++------------------------ app/xpr/xpr.man | 9 +- 16 files changed, 822 insertions(+), 345 deletions(-) create mode 100644 app/xpr/compile diff --git a/app/xpr/ChangeLog b/app/xpr/ChangeLog index a92c6526f..5cb8e355e 100644 --- a/app/xpr/ChangeLog +++ b/app/xpr/ChangeLog @@ -1,3 +1,148 @@ +commit 0b852ef27abda922ae18b8042acd18104b25d596 +Author: Alan Coopersmith +Date: Fri Mar 9 18:17:12 2018 -0800 + + xpr 1.0.5 + + Signed-off-by: Alan Coopersmith + +commit db63d2a499ad1e4a9cc650d3ffb6795dea7d290e +Author: Mihail Konev +Date: Thu Jan 26 14:00:21 2017 +1000 + + autogen: add default patch prefix + + Signed-off-by: Mihail Konev + +commit 8aa5668fb698ee43fccf1d71efab88895001d669 +Author: Emil Velikov +Date: Mon Mar 9 12:00:52 2015 +0000 + + autogen.sh: use quoted string variables + + Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent + fall-outs, when they contain space. + + Signed-off-by: Emil Velikov + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + +commit ef05b01918be35e5837f620d337e69a9279c2a13 +Author: Peter Hutterer +Date: Tue Jan 24 10:32:07 2017 +1000 + + autogen.sh: use exec instead of waiting for configure to finish + + Syncs the invocation of configure with the one from the server. + + Signed-off-by: Peter Hutterer + Reviewed-by: Emil Velikov + +commit 31d433e78ea47f308119ab38f3e514303f239ab9 +Author: Alan Coopersmith +Date: Sat Dec 5 16:36:37 2015 -0800 + + Fix man page references to X(1) to use __miscmansuffix__ + + Signed-off-by: Alan Coopersmith + +commit a4680cc6ffde72504b1cea750c164eb0f9852c4d +Author: Alan Coopersmith +Date: Fri Oct 24 16:46:04 2014 -0700 + + More constification + + Shrinks .data from 1320 bytes to 72 bytes + + Signed-off-by: Alan Coopersmith + +commit eae93f9edbbcf5494500fcc6527eccabe4e29553 +Author: Matthieu Herrb +Date: Fri Aug 8 16:23:46 2014 +0200 + + Use strcmp() to compare strings and simplify options parser. + + Signed-off-by: Matthieu Herrb + Reviewed-by: Alan Coopersmith + Signed-off-by: Alan Coopersmith + +commit 5f369174777783fb9544b81cfdfab255d7e990a8 +Author: Alan Coopersmith +Date: Sun Jun 1 21:00:47 2014 -0700 + + Add -version option to print program version + + Signed-off-by: Alan Coopersmith + +commit 007a72af45ea48e3ed5e750b4b39e034b102d2c0 +Author: Alan Coopersmith +Date: Sun Jun 1 20:54:22 2014 -0700 + + Print which option was in error along with usage message + + Signed-off-by: Alan Coopersmith + +commit e31a646861007e4014d38d6a53a672d63e4f11fa +Author: Alan Coopersmith +Date: Sun Jun 1 19:40:53 2014 -0700 + + Fix "missmatch" typo in error message + + Signed-off-by: Alan Coopersmith + +commit 45922f222d8d91a6faff778f5ceaa34ec8728501 +Author: Alan Coopersmith +Date: Sun Jun 1 19:37:27 2014 -0700 + + Combine strings in usage message + + Signed-off-by: Alan Coopersmith + +commit f85404c8f41a14c907d707933ee5643876bdde4d +Author: Alan Coopersmith +Date: Sun Jun 1 19:21:51 2014 -0700 + + Remove old CVS id tags + + Signed-off-by: Alan Coopersmith + +commit 6ac064621493c27c6e31b15e3faf8192638262fa +Author: Alan Coopersmith +Date: Sun Jun 1 00:30:48 2014 -0700 + + autogen.sh: Honor NOCONFIGURE=1 + + See http://people.gnome.org/~walters/docs/build-api.txt + + Signed-off-by: Alan Coopersmith + +commit 756f9df2639ef9a58cba414d8c98394173bfbed9 +Author: Alan Coopersmith +Date: Sun Jun 1 00:30:48 2014 -0700 + + configure: Drop AM_MAINTAINER_MODE + + Signed-off-by: Alan Coopersmith + +commit 7045be285a72316388814350d3b6bcf7675a2dbd +Author: Alan Coopersmith +Date: Sun Jun 1 00:30:41 2014 -0700 + + This is not a GNU project, so declare it foreign. + + Signed-off-by: Alan Coopersmith + +commit 235b6b1ac77b6f01a3cad60fe7e1b3cbc259879f +Author: Alan Coopersmith +Date: Fri Nov 15 23:04:10 2013 -0800 + + Remove unneeded uses of & -lm + + Can't see why they were ever needed. + + Signed-off-by: Alan Coopersmith + Reviewed-by: Gaetan Nadon + commit 699aa034b8368a4052aa0318d4bca74dd688a7c2 Author: Alan Coopersmith Date: Sat Mar 31 16:57:47 2012 -0700 diff --git a/app/xpr/Makefile.am b/app/xpr/Makefile.am index c96f86364..8b75b07c9 100644 --- a/app/xpr/Makefile.am +++ b/app/xpr/Makefile.am @@ -22,7 +22,7 @@ bin_PROGRAMS = xpr AM_CFLAGS = $(CWARNFLAGS) $(XPR_CFLAGS) -DNOINLINE -xpr_LDADD = $(XPR_LIBS) -lm +xpr_LDADD = $(XPR_LIBS) xpr_SOURCES = \ lncmd.h \ diff --git a/app/xpr/Makefile.in b/app/xpr/Makefile.in index 6b1287073..b5a1a252a 100644 --- a/app/xpr/Makefile.in +++ b/app/xpr/Makefile.in @@ -78,7 +78,7 @@ subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ - config.guess config.sub depcomp install-sh missing + compile config.guess config.sub depcomp install-sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ @@ -303,7 +303,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CFLAGS = $(CWARNFLAGS) $(XPR_CFLAGS) -DNOINLINE -xpr_LDADD = $(XPR_LIBS) -lm +xpr_LDADD = $(XPR_LIBS) xpr_SOURCES = \ lncmd.h \ pmp.h \ @@ -334,15 +334,15 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile + $(AUTOMAKE) --foreign Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/app/xpr/aclocal.m4 b/app/xpr/aclocal.m4 index c0dbcfb1f..8bef9a948 100644 --- a/app/xpr/aclocal.m4 +++ b/app/xpr/aclocal.m4 @@ -1242,7 +1242,7 @@ AC_SUBST([am__untar]) dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure. dnl -dnl Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved. +dnl Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved. dnl dnl Permission is hereby granted, free of charge, to any person obtaining a dnl copy of this software and associated documentation files (the "Software"), @@ -1279,7 +1279,7 @@ dnl DEALINGS IN THE SOFTWARE. # See the "minimum version" comment for each macro you use to see what # version you require. m4_defun([XORG_MACROS_VERSION],[ -m4_define([vers_have], [1.19.0]) +m4_define([vers_have], [1.19.2]) m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.]))) m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.]))) m4_if(m4_cmp(maj_have, maj_needed), 0,, @@ -1357,6 +1357,17 @@ AC_DEFUN([XORG_MANPAGE_SECTIONS],[ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_PROG_SED]) +case $host_os in + solaris*) + # Solaris 2.0 - 11.3 use SysV man page section numbers, so we + # check for a man page file found in later versions that use + # traditional section numbers instead + AC_CHECK_FILE([/usr/share/man/man7/attributes.7], + [SYSV_MAN_SECTIONS=false], [SYSV_MAN_SECTIONS=true]) + ;; + *) SYSV_MAN_SECTIONS=false ;; +esac + if test x$APP_MAN_SUFFIX = x ; then APP_MAN_SUFFIX=1 fi @@ -1372,9 +1383,9 @@ if test x$LIB_MAN_DIR = x ; then fi if test x$FILE_MAN_SUFFIX = x ; then - case $host_os in - solaris*) FILE_MAN_SUFFIX=4 ;; - *) FILE_MAN_SUFFIX=5 ;; + case $SYSV_MAN_SECTIONS in + true) FILE_MAN_SUFFIX=4 ;; + *) FILE_MAN_SUFFIX=5 ;; esac fi if test x$FILE_MAN_DIR = x ; then @@ -1382,9 +1393,9 @@ if test x$FILE_MAN_DIR = x ; then fi if test x$MISC_MAN_SUFFIX = x ; then - case $host_os in - solaris*) MISC_MAN_SUFFIX=5 ;; - *) MISC_MAN_SUFFIX=7 ;; + case $SYSV_MAN_SECTIONS in + true) MISC_MAN_SUFFIX=5 ;; + *) MISC_MAN_SUFFIX=7 ;; esac fi if test x$MISC_MAN_DIR = x ; then @@ -1392,9 +1403,9 @@ if test x$MISC_MAN_DIR = x ; then fi if test x$DRIVER_MAN_SUFFIX = x ; then - case $host_os in - solaris*) DRIVER_MAN_SUFFIX=7 ;; - *) DRIVER_MAN_SUFFIX=4 ;; + case $SYSV_MAN_SECTIONS in + true) DRIVER_MAN_SUFFIX=7 ;; + *) DRIVER_MAN_SUFFIX=4 ;; esac fi if test x$DRIVER_MAN_DIR = x ; then @@ -1402,9 +1413,9 @@ if test x$DRIVER_MAN_DIR = x ; then fi if test x$ADMIN_MAN_SUFFIX = x ; then - case $host_os in - solaris*) ADMIN_MAN_SUFFIX=1m ;; - *) ADMIN_MAN_SUFFIX=8 ;; + case $SYSV_MAN_SECTIONS in + true) ADMIN_MAN_SUFFIX=1m ;; + *) ADMIN_MAN_SUFFIX=8 ;; esac fi if test x$ADMIN_MAN_DIR = x ; then @@ -1665,13 +1676,24 @@ m4_ifval([$1], fi]) # Test for the ability of xmlto to generate a text target +# +# NOTE: xmlto 0.0.27 or higher return a non-zero return code in the +# following test for empty XML docbook files. +# For compatibility reasons use the following empty XML docbook file and if +# it fails try it again with a non-empty XML file. have_xmlto_text=no cat > conftest.xml << "EOF" EOF AS_IF([test "$have_xmlto" = yes], [AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1], [have_xmlto_text=yes], - [AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])]) + [# Try it again with a non-empty XML file. + cat > conftest.xml << "EOF" + +EOF + AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1], + [have_xmlto_text=yes], + [AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])])]) rm -f conftest.xml AM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes]) AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes]) @@ -3067,8 +3089,9 @@ AC_REQUIRE([PKG_PROG_PKG_CONFIG]) macros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros` INSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \ mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \ -|| (rm -f \$(top_srcdir)/.INSTALL.tmp; touch \$(top_srcdir)/INSTALL; \ -echo 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)" +|| (rm -f \$(top_srcdir)/.INSTALL.tmp; test -e \$(top_srcdir)/INSTALL || ( \ +touch \$(top_srcdir)/INSTALL; \ +echo 'failed to copy INSTALL from util-macros: installing empty INSTALL.' >&2))" AC_SUBST([INSTALL_CMD]) ]) # XORG_INSTALL dnl Copyright 2005 Red Hat, Inc @@ -3129,10 +3152,11 @@ AC_DEFUN([XORG_RELEASE_VERSION],[ # # AC_DEFUN([XORG_CHANGELOG], [ -CHANGELOG_CMD="(GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp && \ +CHANGELOG_CMD="((GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp) 2>/dev/null && \ mv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \ -|| (rm -f \$(top_srcdir)/.changelog.tmp; touch \$(top_srcdir)/ChangeLog; \ -echo 'git directory not found: installing possibly empty changelog.' >&2)" +|| (rm -f \$(top_srcdir)/.changelog.tmp; test -e \$(top_srcdir)/ChangeLog || ( \ +touch \$(top_srcdir)/ChangeLog; \ +echo 'git failed to create ChangeLog: installing empty ChangeLog.' >&2))" AC_SUBST([CHANGELOG_CMD]) ]) # XORG_CHANGELOG diff --git a/app/xpr/autogen.sh b/app/xpr/autogen.sh index e81f98910..2ef6d620c 100644 --- a/app/xpr/autogen.sh +++ b/app/xpr/autogen.sh @@ -1,13 +1,17 @@ #! /bin/sh -srcdir=`dirname $0` +srcdir=`dirname "$0"` test -z "$srcdir" && srcdir=. ORIGDIR=`pwd` -cd $srcdir +cd "$srcdir" autoreconf -v --install || exit 1 -cd $ORIGDIR || exit $? +cd "$ORIGDIR" || exit $? -$srcdir/configure --enable-maintainer-mode "$@" +git config --local --get format.subjectPrefix >/dev/null 2>&1 || + git config --local format.subjectPrefix "PATCH app/xpr" +if test -z "$NOCONFIGURE"; then + exec "$srcdir"/configure "$@" +fi diff --git a/app/xpr/compile b/app/xpr/compile new file mode 100644 index 000000000..a85b723c7 --- /dev/null +++ b/app/xpr/compile @@ -0,0 +1,347 @@ +#! /bin/sh +# Wrapper for compilers which do not understand '-c -o'. + +scriptversion=2012-10-14.11; # UTC + +# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# This program 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. +# +# This program 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 this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + for arg + do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file 'INSTALL'. + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; +esac + +ofile= +cfile= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + # So we strip '-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no '-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # '.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` + +# Create the lock directory. +# Note: use '[/\\:.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/app/xpr/configure b/app/xpr/configure index e21e0392a..4bc0d4d13 100644 --- a/app/xpr/configure +++ b/app/xpr/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for xpr 1.0.4. +# Generated by GNU Autoconf 2.69 for xpr 1.0.5. # # Report bugs to . # @@ -581,8 +581,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='xpr' PACKAGE_TARNAME='xpr' -PACKAGE_VERSION='1.0.4' -PACKAGE_STRING='xpr 1.0.4' +PACKAGE_VERSION='1.0.5' +PACKAGE_STRING='xpr 1.0.5' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' PACKAGE_URL='' @@ -1311,7 +1311,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures xpr 1.0.4 to adapt to many kinds of systems. +\`configure' configures xpr 1.0.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1381,7 +1381,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xpr 1.0.4:";; + short | recursive ) echo "Configuration of xpr 1.0.5:";; esac cat <<\_ACEOF @@ -1488,7 +1488,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -xpr configure 1.0.4 +xpr configure 1.0.5 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1745,7 +1745,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by xpr $as_me 1.0.4, which was +It was created by xpr $as_me 1.0.5, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2574,7 +2574,7 @@ fi # Define the identity of the package. PACKAGE='xpr' - VERSION='1.0.4' + VERSION='1.0.5' cat >>confdefs.h <<_ACEOF @@ -10241,10 +10241,11 @@ _ACEOF -CHANGELOG_CMD="(GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp && \ +CHANGELOG_CMD="((GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp) 2>/dev/null && \ mv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \ -|| (rm -f \$(top_srcdir)/.changelog.tmp; touch \$(top_srcdir)/ChangeLog; \ -echo 'git directory not found: installing possibly empty changelog.' >&2)" +|| (rm -f \$(top_srcdir)/.changelog.tmp; test -e \$(top_srcdir)/ChangeLog || ( \ +touch \$(top_srcdir)/ChangeLog; \ +echo 'git failed to create ChangeLog: installing empty ChangeLog.' >&2))" @@ -10252,14 +10253,45 @@ echo 'git directory not found: installing possibly empty changelog.' >&2)" macros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros` INSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \ mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \ -|| (rm -f \$(top_srcdir)/.INSTALL.tmp; touch \$(top_srcdir)/INSTALL; \ -echo 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)" +|| (rm -f \$(top_srcdir)/.INSTALL.tmp; test -e \$(top_srcdir)/INSTALL || ( \ +touch \$(top_srcdir)/INSTALL; \ +echo 'failed to copy INSTALL from util-macros: installing empty INSTALL.' >&2))" +case $host_os in + solaris*) + # Solaris 2.0 - 11.3 use SysV man page section numbers, so we + # check for a man page file found in later versions that use + # traditional section numbers instead + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/man/man7/attributes.7" >&5 +$as_echo_n "checking for /usr/share/man/man7/attributes.7... " >&6; } +if ${ac_cv_file__usr_share_man_man7_attributes_7+:} false; then : + $as_echo_n "(cached) " >&6 +else + test "$cross_compiling" = yes && + as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 +if test -r "/usr/share/man/man7/attributes.7"; then + ac_cv_file__usr_share_man_man7_attributes_7=yes +else + ac_cv_file__usr_share_man_man7_attributes_7=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_man_man7_attributes_7" >&5 +$as_echo "$ac_cv_file__usr_share_man_man7_attributes_7" >&6; } +if test "x$ac_cv_file__usr_share_man_man7_attributes_7" = xyes; then : + SYSV_MAN_SECTIONS=false +else + SYSV_MAN_SECTIONS=true +fi + + ;; + *) SYSV_MAN_SECTIONS=false ;; +esac + if test x$APP_MAN_SUFFIX = x ; then APP_MAN_SUFFIX=1 fi @@ -10275,9 +10307,9 @@ if test x$LIB_MAN_DIR = x ; then fi if test x$FILE_MAN_SUFFIX = x ; then - case $host_os in - solaris*) FILE_MAN_SUFFIX=4 ;; - *) FILE_MAN_SUFFIX=5 ;; + case $SYSV_MAN_SECTIONS in + true) FILE_MAN_SUFFIX=4 ;; + *) FILE_MAN_SUFFIX=5 ;; esac fi if test x$FILE_MAN_DIR = x ; then @@ -10285,9 +10317,9 @@ if test x$FILE_MAN_DIR = x ; then fi if test x$MISC_MAN_SUFFIX = x ; then - case $host_os in - solaris*) MISC_MAN_SUFFIX=5 ;; - *) MISC_MAN_SUFFIX=7 ;; + case $SYSV_MAN_SECTIONS in + true) MISC_MAN_SUFFIX=5 ;; + *) MISC_MAN_SUFFIX=7 ;; esac fi if test x$MISC_MAN_DIR = x ; then @@ -10295,9 +10327,9 @@ if test x$MISC_MAN_DIR = x ; then fi if test x$DRIVER_MAN_SUFFIX = x ; then - case $host_os in - solaris*) DRIVER_MAN_SUFFIX=7 ;; - *) DRIVER_MAN_SUFFIX=4 ;; + case $SYSV_MAN_SECTIONS in + true) DRIVER_MAN_SUFFIX=7 ;; + *) DRIVER_MAN_SUFFIX=4 ;; esac fi if test x$DRIVER_MAN_DIR = x ; then @@ -10305,9 +10337,9 @@ if test x$DRIVER_MAN_DIR = x ; then fi if test x$ADMIN_MAN_SUFFIX = x ; then - case $host_os in - solaris*) ADMIN_MAN_SUFFIX=1m ;; - *) ADMIN_MAN_SUFFIX=8 ;; + case $SYSV_MAN_SECTIONS in + true) ADMIN_MAN_SUFFIX=1m ;; + *) ADMIN_MAN_SUFFIX=8 ;; esac fi if test x$ADMIN_MAN_DIR = x ; then @@ -10397,12 +10429,12 @@ if test -n "$XPR_CFLAGS"; then pkg_cv_XPR_CFLAGS="$XPR_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xmuu x11 xproto >= 7.0.17\""; } >&5 - ($PKG_CONFIG --exists --print-errors "xmuu x11 xproto >= 7.0.17") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xmuu x11 xproto >= 7.0.25\""; } >&5 + ($PKG_CONFIG --exists --print-errors "xmuu x11 xproto >= 7.0.25") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_XPR_CFLAGS=`$PKG_CONFIG --cflags "xmuu x11 xproto >= 7.0.17" 2>/dev/null` + pkg_cv_XPR_CFLAGS=`$PKG_CONFIG --cflags "xmuu x11 xproto >= 7.0.25" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -10414,12 +10446,12 @@ if test -n "$XPR_LIBS"; then pkg_cv_XPR_LIBS="$XPR_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xmuu x11 xproto >= 7.0.17\""; } >&5 - ($PKG_CONFIG --exists --print-errors "xmuu x11 xproto >= 7.0.17") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xmuu x11 xproto >= 7.0.25\""; } >&5 + ($PKG_CONFIG --exists --print-errors "xmuu x11 xproto >= 7.0.25") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_XPR_LIBS=`$PKG_CONFIG --libs "xmuu x11 xproto >= 7.0.17" 2>/dev/null` + pkg_cv_XPR_LIBS=`$PKG_CONFIG --libs "xmuu x11 xproto >= 7.0.25" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -10440,14 +10472,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XPR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xmuu x11 xproto >= 7.0.17" 2>&1` + XPR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xmuu x11 xproto >= 7.0.25" 2>&1` else - XPR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xmuu x11 xproto >= 7.0.17" 2>&1` + XPR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xmuu x11 xproto >= 7.0.25" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XPR_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (xmuu x11 xproto >= 7.0.17) were not met: + as_fn_error $? "Package requirements (xmuu x11 xproto >= 7.0.25) were not met: $XPR_PKG_ERRORS @@ -11020,7 +11052,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by xpr $as_me 1.0.4, which was +This file was extended by xpr $as_me 1.0.5, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -11086,7 +11118,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -xpr config.status 1.0.4 +xpr config.status 1.0.5 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/app/xpr/configure.ac b/app/xpr/configure.ac index 090a6a7b1..419274ae4 100644 --- a/app/xpr/configure.ac +++ b/app/xpr/configure.ac @@ -23,13 +23,13 @@ dnl Process this file with autoconf to create configure. # Initialize Autoconf AC_PREREQ([2.60]) -AC_INIT([xpr], [1.0.4], +AC_INIT([xpr], [1.0.5], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xpr]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([config.h]) # Initialize Automake -AM_INIT_AUTOMAKE([dist-bzip2]) +AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE # Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS @@ -39,7 +39,7 @@ XORG_MACROS_VERSION(1.8) XORG_DEFAULT_OPTIONS # Checks for pkg-config packages -PKG_CHECK_MODULES(XPR, [xmuu x11 xproto >= 7.0.17]) +PKG_CHECK_MODULES(XPR, [xmuu x11 xproto >= 7.0.25]) AC_CONFIG_FILES([Makefile]) AC_OUTPUT diff --git a/app/xpr/lncmd.h b/app/xpr/lncmd.h index ac8a344ec..d61e44e6c 100644 --- a/app/xpr/lncmd.h +++ b/app/xpr/lncmd.h @@ -1,4 +1,3 @@ -/* $XConsortium: lncmd.h,v 10.8 94/04/17 20:44:03 rws Exp $ */ /* Copyright (c) 1985 X Consortium diff --git a/app/xpr/pmp.h b/app/xpr/pmp.h index 09b1a3274..449314083 100644 --- a/app/xpr/pmp.h +++ b/app/xpr/pmp.h @@ -1,7 +1,3 @@ -/* - * $XConsortium: pmp.h,v 1.5 91/02/19 22:13:33 converse Exp $ - */ - /* Written by Jose' J. Capo' */ /* (jjc@comet.lcs.mit.edu), June 1987 */ diff --git a/app/xpr/x2jet.c b/app/xpr/x2jet.c index 3246c33e4..94c920a90 100644 --- a/app/xpr/x2jet.c +++ b/app/xpr/x2jet.c @@ -1,5 +1,3 @@ -/* $XConsortium: x2jet.c,v 1.6 94/04/17 20:44:03 rws Exp $ */ - /* -*-C-*- ******************************************************************************** * diff --git a/app/xpr/x2pmp.c b/app/xpr/x2pmp.c index ce1627b0d..18fd41206 100644 --- a/app/xpr/x2pmp.c +++ b/app/xpr/x2pmp.c @@ -1,12 +1,7 @@ -/* - * $XConsortium: x2pmp.c,v 1.13 91/07/25 17:56:32 rws Exp $ - */ - /* x2pmp.c: Translate xwd window dump format into PMP format for the * IBM 3812 PagePrinter. */ #include -#include #include #include #include diff --git a/app/xpr/xdpr.man b/app/xpr/xdpr.man index deaee2b19..1931c16b1 100644 --- a/app/xpr/xdpr.man +++ b/app/xpr/xdpr.man @@ -1,4 +1,3 @@ -.\" $XConsortium: xdpr.man,v 1.15 94/04/17 20:44:04 gildea Exp $ .TH XDPR 1 "Release 6" "X Version 11" .SH NAME xdpr \- dump an X window directly to a printer @@ -116,7 +115,7 @@ commands as appropriate for each. .IR lpr (1), .IR lp (1), .IR xwud (1), -.IR X (1) +.IR X (__miscmansuffix__) .SH ENVIRONMENT .TP 10 DISPLAY @@ -127,7 +126,7 @@ which printer to use by default. .SH COPYRIGHT Copyright X Consortium .br -See \fIX(1)\fP for a full statement of rights and permissions. +See \fIX(__miscmansuffix__)\fP for a full statement of rights and permissions. .SH AUTHORS Paul Boutin, MIT Project Athena .br diff --git a/app/xpr/xdpr.script b/app/xpr/xdpr.script index 5c4ecf15b..778704000 100644 --- a/app/xpr/xdpr.script +++ b/app/xpr/xdpr.script @@ -1,6 +1,5 @@ #! /bin/sh # Copyright 1985,1988 Massacusetts Institute of Technology. -# $XConsortium: xdpr.script /main/10 1995/12/08 11:10:59 swick $ # origin: William Kucharski, Solbourne Computer, Inc. 3/24/90 # translated from csh script xdpr.script "paul 4/12/88" diff --git a/app/xpr/xpr.c b/app/xpr/xpr.c index b9cd707bc..90b1b66d0 100644 --- a/app/xpr/xpr.c +++ b/app/xpr/xpr.c @@ -1,4 +1,3 @@ -/* $XConsortium: xpr.c,v 1.59 94/10/14 21:22:08 kaleb Exp $ */ /* Copyright (c) 1985 X Consortium @@ -72,6 +71,10 @@ from the X Consortium. * */ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + #include #include #include @@ -135,17 +138,18 @@ int debug = 0; static const char *infilename = NULL; const char *progname = NULL; -typedef struct _grayRec { +struct _grayRec { int level; int sizeX, sizeY; /* 2x2, 3x3, 4x4 */ - unsigned long *grayscales; /* pointer to the encoded pixels */ -} GrayRec, *GrayPtr; + const unsigned long *grayscales; /* pointer to the encoded pixels */ +}; +typedef const struct _grayRec GrayRec, *GrayPtr; -static unsigned long grayscale2x2[] = +static const unsigned long grayscale2x2[] = {0, 1, 9, 11, 15}; -static unsigned long grayscale3x3[] = +static const unsigned long grayscale3x3[] = {0, 16, 68, 81, 325, 341, 349, 381, 383, 511}; -static unsigned long grayscale4x4[] = +static const unsigned long grayscale4x4[] = {0, 64, 4160, 4161, 20545, 21057, 23105, 23113, 23145, 24169, 24171, 56939, 55275, 55279, 57327, 65519, 65535}; @@ -360,7 +364,7 @@ int main(int argc, char **argv) _swaplong((char *) &win, (long)sizeof(win)); if (win.file_version != XWD_FILE_VERSION) { - fprintf(stderr,"xpr: file format version missmatch.\n"); + fprintf(stderr,"xpr: file format version mismatch.\n"); exit(1); } if (win.header_size < sizeof(win)) { @@ -466,30 +470,54 @@ int main(int argc, char **argv) exit(EXIT_SUCCESS); } -static -void usage(void) +static void _X_NORETURN _X_COLD +invalid_arg_value(const char *arg, const char *value) { - fprintf(stderr, "usage: %s [options] [file]\n", progname); - fprintf(stderr, " -append -noff -output \n"); - fprintf(stderr, " -compact\n"); - fprintf(stderr, " -device {ln03 | la100 | ps | lw | pp | ljet | pjet | pjetxl}\n"); - fprintf(stderr, " -dump\n"); - fprintf(stderr, " -gamma \n"); - fprintf(stderr, " -gray {2 | 3 | 4}\n"); - fprintf(stderr, " -height -width \n"); - fprintf(stderr, " -header -trailer \n"); - fprintf(stderr, " -landscape -portrait\n"); - fprintf(stderr, " -left -top \n"); - fprintf(stderr, " -noposition\n"); - fprintf(stderr, " -nosixopt\n"); - fprintf(stderr, " -plane \n"); - fprintf(stderr, " -psfig\n"); - fprintf(stderr, " -render \n"); - fprintf(stderr, " -report\n"); - fprintf(stderr, " -rv\n"); - fprintf(stderr, " -scale \n"); - fprintf(stderr, " -slide\n"); - fprintf(stderr, " -split \n"); + fprintf (stderr, "%s: %s is not a valid value for %s\n\n", + progname, value, arg); + usage(); +} + +static void _X_NORETURN _X_COLD +missing_arg(const char *arg) +{ + fprintf (stderr, "%s: %s requires an argument\n\n", progname, arg); + usage(); +} + +static void _X_NORETURN _X_COLD +unknown_arg(const char *arg) +{ + fprintf (stderr, "%s: unrecognized argument %s\n\n", progname, arg); + usage(); +} + +static void _X_NORETURN _X_COLD +usage(void) +{ + fprintf(stderr, "usage: %s [options] [file]\n%s", progname, + " -append -noff -output \n" + " -compact\n" + " -device {ln03 | la100 | ps | lw | pp | ljet | pjet | pjetxl}\n" + " -dump\n" + " -gamma \n" + " -gray {2 | 3 | 4}\n" + " -height -width \n" + " -header -trailer \n" + " -landscape -portrait\n" + " -left -top \n" + " -noposition\n" + " -nosixopt\n" + " -plane \n" + " -psfig\n" + " -render \n" + " -report\n" + " -rv\n" + " -scale \n" + " -slide\n" + " -split \n" + " -version\n" + ); exit(EXIT_FAILURE); } @@ -516,7 +544,6 @@ void parse_args( { register char *output_filename; register int f; - register int len; register int pos; output_filename = NULL; @@ -538,230 +565,138 @@ void parse_args( *render = 0; for (argc--, argv++; argc > 0; argc--, argv++) { + const char *arg = argv[0]; if (argv[0][0] != '-') { infilename = *argv; continue; } - len = strlen(*argv); - switch (argv[0][1]) { - case 'a': /* -append */ - if (!bcmp(*argv, "-append", len)) { - argc--; argv++; - if (argc == 0) usage(); - output_filename = *argv; - *flags |= F_APPEND; + if (!strcmp(*argv, "-append")) { + argc--; argv++; + if (argc == 0) missing_arg(arg); + output_filename = *argv; + *flags |= F_APPEND; + } else if (!strcmp(*argv, "-compact")) { + *flags |= F_COMPACT; + } else if (!strcmp(*argv, "-cutoff")) { + argc--; argv++; + if (argc == 0) missing_arg(arg); + *cutoff = min((atof(*argv) / 100.0 * 0xFFFF), 0xFFFF); + } else if (!strcmp(*argv, "-dump")) { + *flags |= F_DUMP; + } else if (!strcmp(*argv, "-density")) { + argc--; argv++; + if (argc == 0) missing_arg(arg); + *density = atoi(*argv); + } else if (!strcmp(*argv, "-device")) { + argc--; argv++; + if (argc == 0) missing_arg(arg); + if (!strcmp(*argv, "ln03")) { + *device = LN03; + } else if (!strcmp(*argv, "la100")) { + *device = LA100; + } else if (!strcmp(*argv, "ps")) { + *device = PS; + } else if (!strcmp(*argv, "lw")) { + *device = PS; + } else if (!strcmp(*argv, "pp")) { + *device = PP; + } else if (!strcmp(*argv, "ljet")) { + *device = LJET; + } else if (!strcmp(*argv, "pjet")) { + *device = PJET; + } else if (!strcmp(*argv, "pjetxl")) { + *device = PJETXL; } else - usage(); - break; - - case 'c': /* -compact | -cutoff */ - if (len <= 2 ) - usage(); - if (!bcmp(*argv, "-compact", len)) { - *flags |= F_COMPACT; - } else if (!bcmp(*argv, "-cutoff", len)) { - argc--; argv++; - if (argc == 0) usage(); - *cutoff = min((atof(*argv) / 100.0 * 0xFFFF), 0xFFFF); - } else - usage(); - break; - - case 'd': /* -density | -device | -dump */ - if (len <= 2) - usage(); - if (!bcmp(*argv, "-dump", len)) { - *flags |= F_DUMP; - } else if (len <= 3) { - usage(); - } else if (!bcmp(*argv, "-density", len)) { - argc--; argv++; - if (argc == 0) usage(); - *density = atoi(*argv); - } else if (!bcmp(*argv, "-device", len)) { - argc--; argv++; - if (argc == 0) usage(); - len = strlen(*argv); - if (len < 2) - usage(); - if (!bcmp(*argv, "ln03", len)) { - *device = LN03; - } else if (!bcmp(*argv, "la100", len)) { - *device = LA100; - } else if (!bcmp(*argv, "ps", len)) { - *device = PS; - } else if (!bcmp(*argv, "lw", len)) { - *device = PS; - } else if (!bcmp(*argv, "pp", len)) { - *device = PP; - } else if (!bcmp(*argv, "ljet", len)) { - *device = LJET; - } else if (!bcmp(*argv, "pjet", len)) { - *device = PJET; - } else if (!bcmp(*argv, "pjetxl", len)) { - *device = PJETXL; - } else - usage(); - } else - usage(); - break; - - case 'g': /* -gamma | -gray */ - if (len <= 2) - usage(); - if (!bcmp(*argv, "-gamma", len)) { - argc--; argv++; - if (argc == 0) usage(); - *gamma = atof(*argv); - } else if (!bcmp(*argv, "-gray", len) || - !bcmp(*argv, "-grey", len)) { - argc--; argv++; - if (argc == 0) usage(); - switch (atoi(*argv)) { - case 2: - *gray = &gray2x2; - break; - case 3: - *gray = &gray3x3; - break; - case 4: - *gray = &gray4x4; - break; - default: - usage(); - } - *flags |= F_GRAY; - } else - usage(); - break; - - case 'h': /* -height | -header */ - if (len <= 3) - usage(); - if (!bcmp(*argv, "-height", len)) { - argc--; argv++; - if (argc == 0) usage(); - *height = (int)(300.0 * atof(*argv)); - } else if (!bcmp(*argv, "-header", len)) { - argc--; argv++; - if (argc == 0) usage(); - *header = *argv; - } else - usage(); - break; - - case 'l': /* -landscape | -left */ - if (len <= 2) - usage(); - if (!bcmp(*argv, "-landscape", len)) { - *flags |= F_LANDSCAPE; - } else if (!bcmp(*argv, "-left", len)) { - argc--; argv++; - if (argc == 0) usage(); - *left = (int)(300.0 * atof(*argv)); - } else - usage(); - break; - - case 'n': /* -nosixopt | -noff | -noposition */ - if (len <= 3) - usage(); - if (!bcmp(*argv, "-nosixopt", len)) { - *flags |= F_NOSIXOPT; - } else if (!bcmp(*argv, "-noff", len)) { - *flags |= F_NOFF; - } else if (!bcmp(*argv, "-noposition", len)) { - *flags |= F_NPOSITION; - } else - usage(); - break; - - case 'o': /* -output */ - if (!bcmp(*argv, "-output", len)) { - argc--; argv++; - if (argc == 0) usage(); - output_filename = *argv; - } else - usage(); - break; - - case 'p': /* -portrait | -plane */ - if (len <= 2) - usage(); - if (!bcmp(*argv, "-portrait", len)) { - *flags |= F_PORTRAIT; - } else if (!bcmp(*argv, "-plane", len)) { - argc--; argv++; - if (argc == 0) usage(); - *plane = atoi(*argv); - } else if (!bcmp(*argv, "-psfig", len)) { - *flags |= F_NPOSITION; - } else - usage(); - break; - - case 'r': /* -render | -report | -rv */ - if (len <= 2) - usage(); - if (!bcmp(*argv, "-rv", len)) { - *flags |= F_INVERT; - } else if (len <= 3) { - usage(); - } else if (!bcmp(*argv, "-render", len)) { - argc--; argv++; - if (argc == 0) usage(); - *render = atoi(*argv); - } else if (!bcmp(*argv, "-report", len)) { - *flags |= F_REPORT; - } else - usage(); - break; - - case 's': /* -scale | -slide | -split */ - if (len <= 2) - usage(); - if (!bcmp(*argv, "-scale", len)) { - argc--; argv++; - if (argc == 0) usage(); - *scale = atoi(*argv); - } else if (!bcmp(*argv, "-slide", len)) { - *flags |= F_SLIDE; - } else if (!bcmp(*argv, "-split", len)) { - argc--; argv++; - if (argc == 0) usage(); - *split = atoi(*argv); - } else - usage(); - break; - - case 't': /* -top | -trailer */ - if (len <= 2) - usage(); - if (!bcmp(*argv, "-top", len)) { - argc--; argv++; - if (argc == 0) usage(); - *top = (int)(300.0 * atof(*argv)); - } else if (!bcmp(*argv, "-trailer", len)) { - argc--; argv++; - if (argc == 0) usage(); - *trailer = *argv; - } else - usage(); - break; - - case 'w': /* -width */ - if (!bcmp(*argv, "-width", len)) { - argc--; argv++; - if (argc == 0) usage(); - *width = (int)(300.0 * atof(*argv)); - } else - usage(); - break; - - default: - usage(); - break; - } + invalid_arg_value(arg, argv[0]); + } else if (!strcmp(*argv, "-gamma")) { + argc--; argv++; + if (argc == 0) missing_arg(arg); + *gamma = atof(*argv); + } else if (!strcmp(*argv, "-gray") || + !strcmp(*argv, "-grey")) { + argc--; argv++; + if (argc == 0) missing_arg(arg); + switch (atoi(*argv)) { + case 2: + *gray = &gray2x2; + break; + case 3: + *gray = &gray3x3; + break; + case 4: + *gray = &gray4x4; + break; + default: + invalid_arg_value(arg, argv[0]); + } + *flags |= F_GRAY; + } else if (!strcmp(*argv, "-height")) { + argc--; argv++; + if (argc == 0) missing_arg(arg); + *height = (int)(300.0 * atof(*argv)); + } else if (!strcmp(*argv, "-header")) { + argc--; argv++; + if (argc == 0) missing_arg(arg); + *header = *argv; + } else if (!strcmp(*argv, "-landscape")) { + *flags |= F_LANDSCAPE; + } else if (!strcmp(*argv, "-left")) { + argc--; argv++; + if (argc == 0) missing_arg(arg); + *left = (int)(300.0 * atof(*argv)); + } else if (!strcmp(*argv, "-nosixopt")) { + *flags |= F_NOSIXOPT; + } else if (!strcmp(*argv, "-noff")) { + *flags |= F_NOFF; + } else if (!strcmp(*argv, "-noposition")) { + *flags |= F_NPOSITION; + } else if (!strcmp(*argv, "-output")) { + argc--; argv++; + if (argc == 0) missing_arg(arg); + output_filename = *argv; + } else if (!strcmp(*argv, "-portrait")) { + *flags |= F_PORTRAIT; + } else if (!strcmp(*argv, "-plane")) { + argc--; argv++; + if (argc == 0) missing_arg(arg); + *plane = atoi(*argv); + } else if (!strcmp(*argv, "-psfig")) { + *flags |= F_NPOSITION; + } else if (!strcmp(*argv, "-rv")) { + *flags |= F_INVERT; + } else if (!strcmp(*argv, "-render")) { + argc--; argv++; + if (argc == 0) missing_arg(arg); + *render = atoi(*argv); + } else if (!strcmp(*argv, "-report")) { + *flags |= F_REPORT; + } else if (!strcmp(*argv, "-scale")) { + argc--; argv++; + if (argc == 0) missing_arg(arg); + *scale = atoi(*argv); + } else if (!strcmp(*argv, "-slide")) { + *flags |= F_SLIDE; + } else if (!strcmp(*argv, "-split")) { + argc--; argv++; + if (argc == 0) missing_arg(arg); + *split = atoi(*argv); + } else if (!strcmp(*argv, "-top")) { + argc--; argv++; + if (argc == 0) missing_arg(arg); + *top = (int)(300.0 * atof(*argv)); + } else if (!strcmp(*argv, "-trailer")) { + argc--; argv++; + if (argc == 0) missing_arg(arg); + *trailer = *argv; + } else if (strcmp(*argv, "-version") == 0) { + puts(PACKAGE_STRING); + exit(0); + } else if (!strcmp(*argv, "-width")) { + argc--; argv++; + if (argc == 0) missing_arg(arg); + *width = (int)(300.0 * atof(*argv)); + } else + unknown_arg(arg); } if (infilename) { @@ -1276,7 +1211,7 @@ void dump_prolog(int flags) /* postscript "programs" to unpack and print the bitmaps being sent */ static const -char *ps_prolog_compact[] = { +char * const ps_prolog_compact[] = { "%%Pages: 1", "%%EndProlog", "%%Page: 1 1", @@ -1350,7 +1285,7 @@ char *ps_prolog_compact[] = { }; static const -char *ps_prolog[] = { +char * const ps_prolog[] = { "%%Pages: 1", "%%EndProlog", "%%Page: 1 1", @@ -1383,7 +1318,8 @@ char *ps_prolog[] = { static void dump_prolog(int flags) { - const char **p = (flags & F_COMPACT) ? ps_prolog_compact : ps_prolog; + const char * const *p = + (flags & F_COMPACT) ? ps_prolog_compact : ps_prolog; while (*p) printf("%s\n", *p++); } @@ -1536,7 +1472,7 @@ void ps_setup( } static const -char *ps_epilog[] = { +char * const ps_epilog[] = { "", "showpage", "%%Trailer", @@ -1546,7 +1482,7 @@ char *ps_epilog[] = { static void ps_finish(void) { - char **p = (char **)ps_epilog; + const char * const *p = ps_epilog; while (*p) printf("%s\n",*p++); } diff --git a/app/xpr/xpr.man b/app/xpr/xpr.man index 3129f085a..9229fc052 100644 --- a/app/xpr/xpr.man +++ b/app/xpr/xpr.man @@ -1,4 +1,3 @@ -.\" $XConsortium: xpr.man,v 1.22 94/04/17 20:44:06 gildea Exp $ .TH XPR 1 "Release 6" "X Version 11" .SH NAME xpr \- print an X window dump @@ -71,6 +70,8 @@ xpr \- print an X window dump ] [ .B \-slide ] [ +.B \-version +] [ .I filename ] .SH DESCRIPTION @@ -208,9 +209,11 @@ are available. .IP "\fB\-slide\fP" This option allows overhead transparencies to be printed using the PaintJet and PaintJet XL printers. +.IP "\fB\-version\fP" +This option prints the program version information and exits. .SH SEE ALSO -xwd(1), xwud(1), X(1) +xwd(1), xwud(1), X(__miscmansuffix__) .SH LIMITATIONS The current version of \fIxpr\fP can generally print out on the LN03 @@ -329,7 +332,7 @@ Copyright 1986, Marvin Solomon and the University of Wisconsin. .br Copyright 1988, Hewlett Packard Company. .br -See \fIX(1)\fP for a full statement of rights and permissions. +See \fIX(__miscmansuffix__)\fP for a full statement of rights and permissions. .SH AUTHORS Michael R. Gretzinger, MIT Project Athena, Jose Capo, MIT Project Athena (PP3812 support),