diff options
Diffstat (limited to 'app-editors/vim/files/6.0.019')
-rw-r--r-- | app-editors/vim/files/6.0.019 | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/app-editors/vim/files/6.0.019 b/app-editors/vim/files/6.0.019 new file mode 100644 index 000000000000..49b70b963b35 --- /dev/null +++ b/app-editors/vim/files/6.0.019 @@ -0,0 +1,110 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.019 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +MIME-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 6.0.019 +Problem: Converting a string with multi-byte characters to a printable + string, e.g., with strtrans(), may cause a crash. (Tomas Zellerin) +Solution: Correctly compute the length of the result in transstr(). +Files: src/charset.c + + +*** ../vim60.18/src/charset.c Wed Sep 19 17:28:08 2001 +--- src/charset.c Mon Oct 22 12:43:03 2001 +*************** +*** 327,351 **** + char_u *s; + { + char_u *res; + #ifdef FEAT_MBYTE +! int l; + #endif + +! res = alloc((unsigned)(vim_strsize(s) + 1)); + if (res != NULL) + { + *res = NUL; +! while (*s != NUL) + { + #ifdef FEAT_MBYTE +! if (has_mbyte && (l = (*mb_ptr2len_check)(s)) > 1) + { +! STRNCAT(res, s, l); +! s += l; + } + else + #endif +! STRCAT(res, transchar(*s++)); + } + } + return res; +--- 327,374 ---- + char_u *s; + { + char_u *res; ++ char_u *p; + #ifdef FEAT_MBYTE +! int l, len; + #endif + +! #ifdef FEAT_MBYTE +! if (has_mbyte) +! { +! /* Compute the length of the result, taking into account that +! * multi-byte characters are copied unchanged. */ +! len = 0; +! p = s; +! while (*p != NUL) +! { +! if ((l = (*mb_ptr2len_check)(p)) > 1) +! { +! len += l; +! p += l; +! } +! else +! len += byte2cells(*p++); +! } +! res = alloc((unsigned)(len + 1)); +! } +! else +! #endif +! res = alloc((unsigned)(vim_strsize(s) + 1)); + if (res != NULL) + { + *res = NUL; +! p = s; +! while (*p != NUL) + { + #ifdef FEAT_MBYTE +! if (has_mbyte && (l = (*mb_ptr2len_check)(p)) > 1) + { +! STRNCAT(res, p, l); +! p += l; + } + else + #endif +! STRCAT(res, transchar(*p++)); + } + } + return res; +*** ../vim60.18/src/version.c Mon Oct 22 12:47:09 2001 +--- src/version.c Mon Oct 22 12:46:56 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 19, + /**/ + +-- +"Hit any key to continue" is very confusing when you have two keyboards. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// |