1#!/bin/sh
2date=`date`;
3AWK=@AWK@
4cat <<EOF
5# lpd.conf generated from $1 on $date
6#   The values in this file are the default values.
7#   If you modify the file,  set the value to something other than the default
8#   For example,
9#     # default force_localhost
10#   means the 'force_localhost' option default value is on or 1
11#   To set it to OFF or 0, change this to read:
12#     force_localhost@
13
14EOF
15
16${AWK} '
17/XXSTART/,/END/{
18	if ( $0 ~ /XXSTARTXX/ ) next;
19	if ( $0 ~ /END/ ) next;
20	if ( $0 ~ /^\{/ ) {
21		print "XXX" $0;
22	} else {
23		print "YYY" $0;
24	}
25}' | sed -e '/XXX/s/[{}"]//g' -e '/XXX/s/,$//' \
26	-e '/XXX/s/[ 	][ 	]*/ /g' \
27	-e '/YYY/s/ *\*\///' -e '/YYY/s/.*\/\* *//' \
28| ${AWK} '
29{ 
30	# print "LINE" $0;
31	if ( $0 ~ /XXX/ ) {
32		# print $0;
33		i = index($0," ");
34		l = substr($0,i);
35		FS = ",";
36		fields = split( l, a );
37		name = a[1];
38		i = 1
39		while( i == 1 ) {
40			i = index( name, " " );
41			if( i == 1 ){
42				name = substr(name,2);
43			}
44		}
45		type = a[3] + 0;
46		i = 1;
47		while( i == 1 ) {
48			i = index( type, " " );
49			if( i == 1 ){
50				type = substr(type,2);
51			}
52		}
53		value = a[7];
54		for( i = 8; i <= fields; ++i ){
55			value = value "," a[i];
56		}
57		i = 1;
58		while( i == 1 ) {
59			i = index( value, " " );
60			if( i == 1 ){
61				value = substr(value,2);
62			}
63		}
64		if( index( value, "=" ) == 1 ){
65			value = substr(value,2);
66		}
67		if( index( value, "#" ) == 1 ){
68			value = substr(value,2);
69		}
70#		F="";
71#		if( fields > 6 ){
72#			F =	"FIELDS="
73#		}
74#		print "name \"" name "\", type \"" type "\", value \"" F  value "\"";
75		if( type == 0 ){
76			value = value + 0;
77			# print "FLAG \"" value "\"" ;
78			if( value == 0 ){
79				name= name "@ (FLAG off)";
80			} else {
81				name= name "  (FLAG on)";
82			}
83		} else if( type == 1 ){
84			if( value == "" ){
85				value = 0;
86			}
87			name = name "=" value "  (INTEGER)";
88		} else {
89			v = "";
90			if( value == "0"){ value = ""; v = "EMPTY " ; }
91			name = name "=" value "  (" v "STRING)";
92		}
93		print "#   default " name ;
94	} else {
95		print "# Purpose: " $0;
96	}
97}
98'
99