From: Eric S. Raymond Date: Mon, 21 Nov 1994 20:49:16 +0000 (+0000) Subject: Initial revision X-Git-Tag: 2.0~11 X-Git-Url: http://thyrsus.com/gitweb/?a=commitdiff_plain;h=92bfe7be702bd873e1963cfcaa5bf2eb98ed4631;p=cstrings.git Initial revision --- diff --git a/cstrings.xml b/cstrings.xml new file mode 100644 index 0000000..6d4ddd8 --- /dev/null +++ b/cstrings.xml @@ -0,0 +1,53 @@ +.TH CSTRINGS 1 "July 10, 1990" +.SH NAME +cstrings -- quick-and-dirty internationalization tool +.SH SYNOPSIS +cstrings [-c] [-r ranges] [-t template] [-m minlength] files... +.SH DESCRIPTION +This tool can be used to massage input C source so that literal +strings in it are replaced by generated #define symbols, with the list +of #defines prepended to the resulting source code. String literals on +#include and #define lines and in comments are skipped. +.P +If no filenames are given, standard input is filtered to standard +output. If filenames are given (and appropriate write permissions are +present), each file is replaced by its converted result (the replace +is done with a link(2), so the program is signal-safe). To avoid +heartbreak and death threats to the author, it is recommended that you +not use this feature without looking at the filtered version first to +ensure that it's what you really want. +.P +The string argument of a -r option is interpreted as a comma-separated +list of line numbers or line number ranges to which the string +filtering is to be limited. A range of the form "-" is taken to +signify all lines from line to EOF; a range of the form "-" +signifies all lines from the start of file to line . Additionally, any +range or number may be preceded by '!'; this causes filtering to be suppressed +for the lines designated. If the first character of a range option is '!', +filtering is assumed initially on for all lines, rather than off. +.P +The -t option sets the template with which string labels are generated. The +default is "G%05d". The template is sprintf'ed with a sequence number as +argument. +.P +The -m option takes a numeric argument, interpreted as a minimum length. +All strings less than that size are ignored. Note that this minimum length +defaults to 3, you must say -m 1 or -m 2 to see all short strings. +.P +The -c option suppresses the normal action and instead causes a list of +strings that would otherwise be #define-ized (each preceded by its line +number) to be emitted to stdout. If -c is used with file arguments a +report with sections headed by file names will be generated. +.P +The -c option permits you to anticipate the effects of a substitution +without having to look at the whole source file. +.P +This tool is best used by doing repeated -c runs, adding to an -r +argument until you have it down to filtering just the lines you want, +and then dropping the -c to do the actual conversion. Then you can move +the list of generated #defines to an appropriate spot with a text editor. +.SH BUGS +This program makes no effort to be intelligent about duplicate +strings. Also, it doesn't handle quoted quotes within strings. +.SH AUTHOR +Eric S. Raymond