Mercurial > hg > octave-nkf > gnulib-hg
changeset 6252:038c6bc7d60a
Documentation about quote and quotearg modules.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Mon, 19 Sep 2005 15:46:26 +0000 |
parents | 9acbfeda43d3 |
children | f194efd935e3 |
files | doc/quote.texi |
diffstat | 1 files changed, 35 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
new file mode 100644 --- /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.