6179 Want various ISO8859-1 locales
[unleashed.git] / usr / src / cmd / getopt / getoptcvt.sh
blob03b07b03a32fa571f3acf576efbd37dba6e49d0b
1 #!/sbin/sh
3 # CDDL HEADER START
5 # The contents of this file are subject to the terms of the
6 # Common Development and Distribution License, Version 1.0 only
7 # (the "License"). You may not use this file except in compliance
8 # with the License.
10 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11 # or http://www.opensolaris.org/os/licensing.
12 # See the License for the specific language governing permissions
13 # and limitations under the License.
15 # When distributing Covered Code, include this CDDL HEADER in each
16 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17 # If applicable, add the following below this CDDL HEADER, with the
18 # fields enclosed by brackets "[]" replaced with your own identifying
19 # information: Portions Copyright [yyyy] [name of copyright owner]
21 # CDDL HEADER END
23 # Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
24 # All Rights Reserved
27 #ident "%Z%%M% %I% %E% SMI" /* SVr4.0 1.3 */
28 # This program changes all occurences of the SVR2 getopt invocation line
29 # to use the SVR3 version of getopt.
30 # Sedfunc is used to handle arguments with single quotes.
31 # If -b option is given, getoptcvt will create script that will usually work
32 # in releases previous to 3.0.
33 bflag=
34 while getopts b c
36 case $c in
37 b) bflag=1;;
38 \?) echo "getoptcvt [-b] file"
39 exit 2;;
40 esac
41 done
42 shift `expr $OPTIND - 1`
43 if [ "$bflag" = 1 ]
44 then
45 ed <<'!' - $1
46 1,$s/set[ ][ ]*--[ ][ ]*`getopt[ ][ ]*\(.*\)[ ][ ]*.*`/{\
47 if [ "$OPTIND" != 1 ]\
48 then\
49 set -- `getopt \1 $*`\
50 else\
51 sedfunc() \
53 echo "$1" | sed "s\/'\/'\\\\\\\\''\/g"\
55 exitcode_=0\
56 while getopts \1 c_\
57 do\
58 case $c_ in\
59 \\?)\
60 exitcode_=1\
61 break;;\
62 *) if [ "$OPTARG" ]\
63 then\
64 optarg_=`sedfunc "$OPTARG"`\
65 arg_="$arg_ '-$c_' '$optarg_'"\
66 else\
67 arg_="$arg_ '-$c_'"\
68 fi;;\
69 esac\
70 done\
71 shift `expr $OPTIND - 1`\
72 arg_="$arg_ '--'"\
73 for i_ in "$@"\
74 do\
75 optarg_=`sedfunc "$i_"`\
76 arg_="$arg_ '$optarg_'"\
77 done\
78 eval set -- "$arg_"\
79 test $exitcode_ = 0\
80 fi ;}/
81 1,$p
84 else
85 ed <<'!' - $1
86 1,$s/set[ ][ ]*--[ ][ ]*`getopt[ ][ ]*\(.*\)[ ][ ]*.*`/{\
87 sedfunc()\
89 echo "$1" | sed "s\/'\/'\\\\\\\\''\/g"\
91 exitcode_=0\
92 while getopts \1 c_\
93 do\
94 case $c_ in\
95 \\?)\
96 exitcode_=1\
97 break;;\
98 *) if [ "$OPTARG" ]\
99 then\
100 optarg_=`sedfunc "$OPTARG"`\
101 arg_="$arg_ -$c_ '$optarg_'"\
102 else\
103 arg_="$arg_ -$c_"\
104 fi;;\
105 esac\
106 done\
107 shift `expr $OPTIND - 1`\
108 arg_="$arg_ --"\
109 for i_ in "$@"\
111 optarg_=`sedfunc "$i_"`\
112 arg_="$arg_ '$optarg_'"\
113 done\
114 eval set -- "$arg_"\
115 test $exitcode_ = 0 ;}/
116 1,$p