Commit d89a3f73 authored by Kees Cook's avatar Kees Cook Committed by Linus Torvalds

lib/string_helpers: clarify esc arg in string_escape_mem

The esc argument is used to reduce which characters will be escaped.  For
example, using " " with ESCAPE_SPACE will not produce any escaped spaces.
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Mathias Krause <minipli@googlemail.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent cdf17449
...@@ -410,7 +410,7 @@ static bool escape_hex(unsigned char c, char **dst, char *end) ...@@ -410,7 +410,7 @@ static bool escape_hex(unsigned char c, char **dst, char *end)
* @dst: destination buffer (escaped) * @dst: destination buffer (escaped)
* @osz: destination buffer size * @osz: destination buffer size
* @flags: combination of the flags (bitwise OR): * @flags: combination of the flags (bitwise OR):
* %ESCAPE_SPACE: * %ESCAPE_SPACE: (special white space, not space itself)
* '\f' - form feed * '\f' - form feed
* '\n' - new line * '\n' - new line
* '\r' - carriage return * '\r' - carriage return
...@@ -432,8 +432,10 @@ static bool escape_hex(unsigned char c, char **dst, char *end) ...@@ -432,8 +432,10 @@ static bool escape_hex(unsigned char c, char **dst, char *end)
* all previous together * all previous together
* %ESCAPE_HEX: * %ESCAPE_HEX:
* '\xHH' - byte with hexadecimal value HH (2 digits) * '\xHH' - byte with hexadecimal value HH (2 digits)
* @esc: NULL-terminated string of characters any of which, if found in * @esc: NULL-terminated string containing characters used to limit
* the source, has to be escaped * the selected escape class. If characters are included in @esc
* that would not normally be escaped by the classes selected
* in @flags, they will be copied to @dst unescaped.
* *
* Description: * Description:
* The process of escaping byte buffer includes several parts. They are applied * The process of escaping byte buffer includes several parts. They are applied
...@@ -441,7 +443,7 @@ static bool escape_hex(unsigned char c, char **dst, char *end) ...@@ -441,7 +443,7 @@ static bool escape_hex(unsigned char c, char **dst, char *end)
* 1. The character is matched to the printable class, if asked, and in * 1. The character is matched to the printable class, if asked, and in
* case of match it passes through to the output. * case of match it passes through to the output.
* 2. The character is not matched to the one from @esc string and thus * 2. The character is not matched to the one from @esc string and thus
* must go as is to the output. * must go as-is to the output.
* 3. The character is checked if it falls into the class given by @flags. * 3. The character is checked if it falls into the class given by @flags.
* %ESCAPE_OCTAL and %ESCAPE_HEX are going last since they cover any * %ESCAPE_OCTAL and %ESCAPE_HEX are going last since they cover any
* character. Note that they actually can't go together, otherwise * character. Note that they actually can't go together, otherwise
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment