#!/bin/sh # # ad2c : Convert app-defaults file to C strings decls. # # George Ferguson, ferguson@cs.rcohester.edu, 12 Nov 1990. # 19 Mar 1991 : gf # Made it self-contained. # 6 Jan 1992 : mycroft@gnu.ai.mit.edu (Charles Hannum) # Removed use of "-n" and ":read" label since Gnu and # IBM sed print pattern space on "n" command. Still works # with Sun sed, of course. # 7 Jan 1992: matthew@sunpix.East.Sun.COM (Matthew Stier) # Escape quotes after escaping backslashes. # 8 Jul 1992: Version 1.6 # Manpage fixes. # 19 Apr 1993: Version 1.7 # Remove comments that were inside the sed command since # some versions of sed don't like them. The comments are # now given here in the header. # # Comments on the script by line: # /^!/d Remove comments # /^$/d Remove blanks # s/\\/\\\\/g Escape backslashes... # s/\\$//g ...except the line continuation ones # s/"/\\"/g Escape quotes # s/^/"/ Add leading quote # : test Establish label for later branch # /\\$/b slash Branch to label "slash" if line ends in backslash # s/$/",/ Otherwise add closing quote and comma... # p ...output the line... # d ...and clear the pattern space so it's not printed again # : slash Branch comes here if line ends in backslash # n Read next line, append to pattern space # [...] The "d" and "s" commands that follow just delete # comments and blank lines and escape control sequences # b test Branch up to see if the line ends in backslash or not # # # This file has been included with permission from the author. # Fri Mar 6 01:40:58 PST 1998 # # XFE additions: # y/ / / Replace tabs with spaces # s/ */ /g Compress consecutive spaces down to one space sed ' /^!/d /^$/d y/ / / s/ */ /g s/\\/\\\\/g s/\\$//g s/"/\\"/g s/^/"/ : test /\\$/b slash s/$/",/ p d : slash n /^!/d /^$/d y/ / / s/ */ /g s/"/\\"/g s/\\\\/\\/g s/\\n/\\\\n/g s/\\t/\\\\t/g s/\\f/\\\\f/g s/\\b/\\\\b/g b test' "$@"