Initial import from FreeBSD RELENG_4:
[dragonfly.git] / usr.sbin / lpr / lp / lp.sh
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: src/usr.sbin/lpr/lp/lp.sh,v 1.7 2000/03/08 10:02:11 sheldonh Exp $
40 #
41
42 ncopies=""
43 symlink="-s"
44
45 # Posix says LPDEST gets precedence over PRINTER
46 dest=${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 #
54 while getopts "cd:n:o:s" option
55 do
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
71 done
72
73 shift $(($OPTIND - 1))
74
75 exec /usr/bin/lpr "-P${dest}" ${symlink} ${ncopies} "$@"