diff options
author | Bruno Haible <bruno@clisp.org> | 2005-09-19 15:46:26 +0000 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2005-09-19 15:46:26 +0000 |
commit | 610d31551cab51c9cc70c99aed93345027888a23 (patch) | |
tree | 7f683882e5f35209d4a03cced951d5cdf502739e /doc | |
parent | 896d8e9f1c3e752ef11d3b3ab64f1c709d163edd (diff) | |
download | gnulib-610d31551cab51c9cc70c99aed93345027888a23.tar.gz |
Documentation about quote and quotearg modules.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/quote.texi | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/doc/quote.texi b/doc/quote.texi new file mode 100644 index 0000000000..db9698498c --- /dev/null +++ b/doc/quote.texi @@ -0,0 +1,35 @@ +@node Quoting +@section Quoting + +@cindex Quoting +@findex quote +@findex quotearg + +Gnulib provides @samp{quote} and @samp{quotearg} modules to help with +quoting text, such as file names, in messages to the user. Here's an +example of using @samp{quote}: + +@example +#include <quote.h> + ... + error (0, errno, _("cannot change owner of %s"), quote (fname)); +@end example + +This differs from + +@example + error (0, errno, _("cannot change owner of `%s'"), fname); +@end example + +@noindent in that @code{quote} escapes unusual characters in +@code{fname}, e.g., @samp{'} and control characters like @samp{\n}. + +@findex quote_n +However, a caveat: @code{quote} reuses the storage that it returns. +Hence if you need more than one thing quoted at the same time, you +need to use @code{quote_n}. + +@findex quotearg_alloc +Also, the quote module is not suited for multithreaded applications. +In that case, you have to use @code{quotearg_alloc}, defined in the +@samp{quotearg} module, which is decidedly less convenient. |