patch 9.2.0950: transstr() can be improved (after 9.2.0906)
Problem: transstr() has comments that do not add anything to what the
code says, and it casts a length to int only to cast it back to
size_t.
Solution: Drop the comments and keep the length in a size_t
(Hirohito Higashi).
related: #20925
closes: #21026
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
1 parent
64dd63da9a
commit
fe65307d49
3 files changed
+4
-6
No files matched your search
+2
-5
@@ -383,8 +383,6 @@ transstr(char_u *s)
|
||||
if (res == NULL)
|
||||
return NULL;
|
||||
|
||||
// Keep a tail pointer to append to, appending with STRCAT would make
|
||||
// this loop quadratic.
|
||||
char_u *d = res;
|
||||
|
||||
p = s;
|
||||
@@ -395,7 +393,6 @@ transstr(char_u *s)
|
||||
c = (*mb_ptr2char)(p);
|
||||
if (vim_isprintc(c))
|
||||
{
|
||||
// append printable multi-byte char
|
||||
mch_memmove(d, p, (size_t)l);
|
||||
d += l;
|
||||
}
|
||||
@@ -409,9 +406,9 @@ transstr(char_u *s)
|
||||
else
|
||||
{
|
||||
char_u *trs = transchar_byte(*p++);
|
||||
int trs_len = (int)STRLEN(trs);
|
||||
size_t trs_len = STRLEN(trs);
|
||||
|
||||
mch_memmove(d, trs, (size_t)trs_len);
|
||||
mch_memmove(d, trs, trs_len);
|
||||
d += trs_len;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -253,7 +253,6 @@ func Test_strtrans()
|
||||
call assert_equal('^A^_^?', strtrans("\x01\x1f\x7f"))
|
||||
" an unprintable byte above 0x7f uses the meta notation
|
||||
call assert_equal('| ', strtrans("\xa0"))
|
||||
" a printable high byte is unchanged
|
||||
call assert_equal("\xe9", strtrans("\xe9"))
|
||||
call assert_equal("x^B\xe9| y", strtrans("x\x02\xe9\xa0y"))
|
||||
set encoding=utf-8
|
||||
|
||||
@@ -763,6 +763,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
950,
|
||||
/**/
|
||||
949,
|
||||
/**/
|
||||
|
||||
Reference in new issue
Block a user