Mercurial > vim
diff src/misc2.c @ 16:3ba373b54370 v7.0008
updated for version 7.0008
author | vimboss |
---|---|
date | Mon, 12 Jul 2004 15:53:54 +0000 |
parents | 4424b47a0797 |
children | a81bc802c17c |
line wrap: on
line diff
--- a/src/misc2.c +++ b/src/misc2.c @@ -959,30 +959,6 @@ vim_strnsave(string, len) return p; } -#if 0 /* not used */ -/* - * like vim_strnsave(), but remove backslashes from the string. - */ - char_u * -vim_strnsave_esc(string, len) - char_u *string; - int len; -{ - char_u *p1, *p2; - - p1 = alloc((unsigned) (len + 1)); - if (p1 != NULL) - { - STRNCPY(p1, string, len); - p1[len] = NUL; - for (p2 = p1; *p2; ++p2) - if (*p2 == '\\' && *(p2 + 1) != NUL) - STRCPY(p2, p2 + 1); - } - return p1; -} -#endif - /* * Same as vim_strsave(), but any characters found in esc_chars are preceded * by a backslash. @@ -992,17 +968,19 @@ vim_strsave_escaped(string, esc_chars) char_u *string; char_u *esc_chars; { - return vim_strsave_escaped_ext(string, esc_chars, FALSE); + return vim_strsave_escaped_ext(string, esc_chars, '\\', FALSE); } /* * Same as vim_strsave_escaped(), but when "bsl" is TRUE also escape * characters where rem_backslash() would remove the backslash. + * Escape the characters with "cc". */ char_u * -vim_strsave_escaped_ext(string, esc_chars, bsl) +vim_strsave_escaped_ext(string, esc_chars, cc, bsl) char_u *string; char_u *esc_chars; + int cc; int bsl; { char_u *p; @@ -1048,7 +1026,7 @@ vim_strsave_escaped_ext(string, esc_char } #endif if (vim_strchr(esc_chars, *p) != NULL || (bsl && rem_backslash(p))) - *p2++ = '\\'; + *p2++ = cc; *p2++ = *p; } *p2 = NUL;