Introduce new function, escape_string_inplace(), to escape specified characters in place.
Signed-off-by: Qu Wenruo <[email protected]> --- utils.c | 17 +++++++++++++++++ utils.h | 2 ++ 2 files changed, 19 insertions(+) diff --git a/utils.c b/utils.c index 3f54245..69faae1 100644 --- a/utils.c +++ b/utils.c @@ -4251,3 +4251,20 @@ unsigned int rand_range(unsigned int upper) */ return (unsigned int)(jrand48(rand_seed) % upper); } + +void string_escape_inplace(char *restrict string, char *restrict escape_chars) +{ + int i, j; + + for (i = 0; i < strlen(escape_chars); i++) { + j = 0; + while (j < strlen(string)) { + if (string[j] == escape_chars[i]) { + memmove(string + j, string + j + 1, + strlen(string) -j); + continue; + } + j++; + } + } +} diff --git a/utils.h b/utils.h index 1a2dbcd..b36d411 100644 --- a/utils.h +++ b/utils.h @@ -457,4 +457,6 @@ unsigned int rand_range(unsigned int upper); /* Also allow setting the seed manually */ void init_rand_seed(u64 seed); +void string_escape_inplace(char *restrict string, char *restrict escape_chars); + #endif -- 2.10.1 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
