1#!/bin/sh 2# 3# 4# Copyright (c) 1995 Joerg Wunsch 5# 6# All rights reserved. 7# 8# This program is free software. 9# 10# Redistribution and use in source and binary forms, with or without 11# modification, are permitted provided that the following conditions 12# are met: 13# 1. Redistributions of source code must retain the above copyright 14# notice, this list of conditions and the following disclaimer. 15# 2. Redistributions in binary form must reproduce the above copyright 16# notice, this list of conditions and the following disclaimer in the 17# documentation and/or other materials provided with the distribution. 18# 3. All advertising materials mentioning features or use of this software 19# must display the following acknowledgement: 20# This product includes software developed by Joerg Wunsch 21# 4. The name of the developer may not be used to endorse or promote 22# products derived from this software without specific prior written 23# permission. 24# 25# THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR 26# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 27# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 28# IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, 29# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 30# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 31# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 32# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 33# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 34# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 35# 36# 37# Posix 1003.2 compliant print spooler interface. 38# 39# $FreeBSD$ 40# 41 42ncopies="" 43symlink="-s" 44 45# Posix says LPDEST gets precedence over PRINTER 46dest=${LPDEST:-${PRINTER:-lp}} 47 48# 49# XXX We include the -o flag as a dummy. Posix 1003.2 does not require 50# it, but the rationale mentions it as a possible future extension. 51# XXX We include the -s flag as a dummy. SUSv2 requires it, 52# although we do not yet emit the affected messages. 53# 54while getopts "cd:n:o:s" option 55do 56 case $option in 57 58 c) # copy files before printing 59 symlink="";; 60 d) # destination 61 dest="${OPTARG}";; 62 n) # number of copies 63 ncopies="-#${OPTARG}";; 64 o) # (printer option) 65 : ;; 66 s) # (silent option) 67 : ;; 68 *) # (error msg printed by getopts) 69 exit 2;; 70 esac 71done 72 73shift $(($OPTIND - 1)) 74 75exec /usr/bin/lpr "-P${dest}" ${symlink} ${ncopies} "$@" 76