Hi
The 2 functions copy_chars(...) and copy_spaces(...)
defined in mis2.c look useless. vim_memset(...) does
the same job and is faster.
Attached patch removes copy_chars(...) and copy_spaces(...).
Regards
Dominique
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
diff -r b2839b524d9f src/ex_getln.c
--- a/src/ex_getln.c Sun Jul 12 17:52:57 2015 +0200
+++ b/src/ex_getln.c Wed Jul 15 06:54:57 2015 +0200
@@ -250,7 +250,7 @@
/* autoindent for :insert and :append */
if (firstc <= 0)
{
- copy_spaces(ccline.cmdbuff, indent);
+ vim_memset(ccline.cmdbuff, ' ', indent);
ccline.cmdbuff[indent] = NUL;
ccline.cmdpos = indent;
ccline.cmdspos = indent;
diff -r b2839b524d9f src/misc2.c
--- a/src/misc2.c Sun Jul 12 17:52:57 2015 +0200
+++ b/src/misc2.c Wed Jul 15 06:54:57 2015 +0200
@@ -1600,40 +1600,6 @@
#endif
/*
- * copy a space a number of times
- */
- void
-copy_spaces(ptr, count)
- char_u *ptr;
- size_t count;
-{
- size_t i = count;
- char_u *p = ptr;
-
- while (i--)
- *p++ = ' ';
-}
-
-#if defined(FEAT_VISUALEXTRA) || defined(PROTO)
-/*
- * Copy a character a number of times.
- * Does not work for multi-byte characters!
- */
- void
-copy_chars(ptr, count, c)
- char_u *ptr;
- size_t count;
- int c;
-{
- size_t i = count;
- char_u *p = ptr;
-
- while (i--)
- *p++ = c;
-}
-#endif
-
-/*
* delete spaces at the end of a string
*/
void
diff -r b2839b524d9f src/ops.c
--- a/src/ops.c Sun Jul 12 17:52:57 2015 +0200
+++ b/src/ops.c Wed Jul 15 06:54:57 2015 +0200
@@ -442,8 +442,8 @@
return;
vim_memset(newp, NUL, (size_t)(bd.textcol + i + j + len));
mch_memmove(newp, oldp, (size_t)bd.textcol);
- copy_chars(newp + bd.textcol, (size_t)i, TAB);
- copy_spaces(newp + bd.textcol + i, (size_t)j);
+ vim_memset(newp + bd.textcol, TAB, (size_t)i);
+ vim_memset(newp + bd.textcol + i, ' ', (size_t)j);
/* the end */
mch_memmove(newp + bd.textcol + i + j, bd.textstart, (size_t)len);
}
@@ -535,7 +535,7 @@
if (newp == NULL)
return;
mch_memmove(newp, oldp, (size_t)(verbatim_copy_end - oldp));
- copy_spaces(newp + (verbatim_copy_end - oldp), (size_t)fill);
+ vim_memset(newp + (verbatim_copy_end - oldp), ' ', (size_t)fill);
STRMOVE(newp + (verbatim_copy_end - oldp) + fill, non_white);
}
/* replace the line */
@@ -638,7 +638,7 @@
oldp += offset;
/* insert pre-padding */
- copy_spaces(newp + offset, (size_t)spaces);
+ vim_memset(newp + offset, ' ', (size_t)spaces);
/* copy the new text */
mch_memmove(newp + offset + spaces, s, (size_t)s_len);
@@ -647,7 +647,7 @@
if (spaces && !bdp->is_short)
{
/* insert post-padding */
- copy_spaces(newp + offset + spaces, (size_t)(p_ts - spaces));
+ vim_memset(newp + offset + spaces, ' ', (size_t)(p_ts - spaces));
/* We're splitting a TAB, don't copy it. */
oldp++;
/* We allowed for that TAB, remember this now */
@@ -1831,7 +1831,7 @@
/* copy up to deleted part */
mch_memmove(newp, oldp, (size_t)bd.textcol);
/* insert spaces */
- copy_spaces(newp + bd.textcol,
+ vim_memset(newp + bd.textcol, ' ',
(size_t)(bd.startspaces + bd.endspaces));
/* copy the part after the deleted part */
oldp += bd.textcol + bd.textlen;
@@ -2132,7 +2132,7 @@
mch_memmove(newp, oldp, (size_t)bd.textcol);
oldp += bd.textcol + bd.textlen;
/* insert pre-spaces */
- copy_spaces(newp + bd.textcol, (size_t)bd.startspaces);
+ vim_memset(newp + bd.textcol, ' ', (size_t)bd.startspaces);
/* insert replacement chars CHECK FOR ALLOCATED SPACE */
/* -1/-2 is used for entering CR literally. */
if (had_ctrl_v_cr || (c != '\r' && c != '\n'))
@@ -2146,11 +2146,11 @@
}
else
#endif
- copy_chars(newp + STRLEN(newp), (size_t)numc, c);
+ vim_memset(newp + STRLEN(newp), c, (size_t)numc);
if (!bd.is_short)
{
/* insert post-spaces */
- copy_spaces(newp + STRLEN(newp), (size_t)bd.endspaces);
+ vim_memset(newp + STRLEN(newp), ' ', (size_t)bd.endspaces);
/* copy the part after the changed part */
STRMOVE(newp + STRLEN(newp), oldp);
}
@@ -2831,7 +2831,7 @@
mch_memmove(newp, oldp, (size_t)bd.textcol);
offset = bd.textcol;
# ifdef FEAT_VIRTUALEDIT
- copy_spaces(newp + offset, (size_t)vpos.coladd);
+ vim_memset(newp + offset, ' ', (size_t)vpos.coladd);
offset += vpos.coladd;
# endif
mch_memmove(newp + offset, ins_text, (size_t)ins_len);
@@ -3272,11 +3272,11 @@
== NULL)
return FAIL;
y_current->y_array[y_idx] = pnew;
- copy_spaces(pnew, (size_t)bd->startspaces);
+ vim_memset(pnew, ' ', (size_t)bd->startspaces);
pnew += bd->startspaces;
mch_memmove(pnew, bd->textstart, (size_t)bd->textlen);
pnew += bd->textlen;
- copy_spaces(pnew, (size_t)bd->endspaces);
+ vim_memset(pnew, ' ', (size_t)bd->endspaces);
pnew += bd->endspaces;
*pnew = NUL;
return OK;
@@ -3690,7 +3690,7 @@
mch_memmove(ptr, oldp, (size_t)bd.textcol);
ptr += bd.textcol;
/* may insert some spaces before the new text */
- copy_spaces(ptr, (size_t)bd.startspaces);
+ vim_memset(ptr, ' ', (size_t)bd.startspaces);
ptr += bd.startspaces;
/* insert the new text */
for (j = 0; j < count; ++j)
@@ -3701,12 +3701,12 @@
/* insert block's trailing spaces only if there's text behind */
if ((j < count - 1 || !shortline) && spaces)
{
- copy_spaces(ptr, (size_t)spaces);
+ vim_memset(ptr, ' ', (size_t)spaces);
ptr += spaces;
}
}
/* may insert some spaces after the new text */
- copy_spaces(ptr, (size_t)bd.endspaces);
+ vim_memset(ptr, ' ', (size_t)bd.endspaces);
ptr += bd.endspaces;
/* move the text after the cursor to the end of the line. */
mch_memmove(ptr, oldp + bd.textcol + delcount,
@@ -4522,7 +4522,7 @@
if (spaces[t] > 0)
{
cend -= spaces[t];
- copy_spaces(cend, (size_t)(spaces[t]));
+ vim_memset(cend, ' ', (size_t)(spaces[t]));
}
mark_col_adjust(curwin->w_cursor.lnum + t, (colnr_T)0, (linenr_T)-t,
(long)(cend - newp + spaces[t] - (curr - curr_start)));
diff -r b2839b524d9f src/proto/misc2.pro
--- a/src/proto/misc2.pro Sun Jul 12 17:52:57 2015 +0200
+++ b/src/proto/misc2.pro Wed Jul 15 06:54:57 2015 +0200
@@ -37,8 +37,6 @@
char_u *vim_strnsave_up __ARGS((char_u *string, int len));
void vim_strup __ARGS((char_u *p));
char_u *strup_save __ARGS((char_u *orig));
-void copy_spaces __ARGS((char_u *ptr, size_t count));
-void copy_chars __ARGS((char_u *ptr, size_t count, int c));
void del_trailing_spaces __ARGS((char_u *ptr));
void vim_strncpy __ARGS((char_u *to, char_u *from, size_t len));
void vim_strcat __ARGS((char_u *to, char_u *from, size_t tosize));
diff -r b2839b524d9f src/screen.c
--- a/src/screen.c Sun Jul 12 17:52:57 2015 +0200
+++ b/src/screen.c Wed Jul 15 06:54:57 2015 +0200
@@ -2833,7 +2833,7 @@
int fdc = compute_foldcolumn(wp, 0);
/* Init to all spaces. */
- copy_spaces(p, (size_t)fdc);
+ vim_memset(p, ' ', (size_t)fdc);
level = win_foldinfo.fi_level;
if (level > 0)