mirror of https://gitee.com/openkylin/linux.git
lib/string_helpers: move ESCAPE_NP check inside 'else' branch in a loop
Refactor code to have better readability by moving ESCAPE_NP handling inside 'else' branch in the loop. No functional change intended. Link: https://lkml.kernel.org/r/20210504180819.73127-3-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: Alexander Viro <viro@zeniv.linux.org.uk> Cc: Chuck Lever <chuck.lever@oracle.com> Cc: "J. Bruce Fields" <bfields@fieldses.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
994b69703e
commit
62519b882d
|
@ -452,10 +452,10 @@ static bool escape_hex(unsigned char c, char **dst, char *end)
|
|||
* The process of escaping byte buffer includes several parts. They are applied
|
||||
* in the following sequence.
|
||||
*
|
||||
* 1. The character is matched to the printable class, if asked, and in
|
||||
* case of match it passes through to the output.
|
||||
* 2. The character is not matched to the one from @only string and thus
|
||||
* 1. The character is not matched to the one from @only string and thus
|
||||
* must go as-is to the output.
|
||||
* 2. The character is matched to the printable class, if asked, and in
|
||||
* case of match it passes through to the output.
|
||||
* 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
|
||||
* character. Note that they actually can't go together, otherwise
|
||||
|
@ -506,19 +506,22 @@ int string_escape_mem(const char *src, size_t isz, char *dst, size_t osz,
|
|||
|
||||
/*
|
||||
* Apply rules in the following sequence:
|
||||
* - the character is printable, when @flags has
|
||||
* %ESCAPE_NP bit set
|
||||
* - the @only string is supplied and does not contain a
|
||||
* character under question
|
||||
* - the character is printable, when @flags has
|
||||
* %ESCAPE_NP bit set
|
||||
* - the character doesn't fall into a class of symbols
|
||||
* defined by given @flags
|
||||
* In these cases we just pass through a character to the
|
||||
* output buffer.
|
||||
*/
|
||||
if ((flags & ESCAPE_NP && isprint(c)) ||
|
||||
(is_dict && !strchr(only, c))) {
|
||||
if (is_dict && !strchr(only, c)) {
|
||||
/* do nothing */
|
||||
} else {
|
||||
if (isprint(c) &&
|
||||
flags & ESCAPE_NP && escape_passthrough(c, &p, end))
|
||||
continue;
|
||||
|
||||
if (flags & ESCAPE_SPACE && escape_space(c, &p, end))
|
||||
continue;
|
||||
|
||||
|
|
Loading…
Reference in New Issue