mirror of
https://github.com/vim/vim.git
synced 2025-07-24 10:45:12 -04:00
patch 8.0.0241: fallback implementation of mch_memmove is unused
Problem: Vim defines a mch_memmove() function but it doesn't work, thus is always unused. Solution: Remove the mch_memmove implementation. (suggested by Dominique Pelle)
This commit is contained in:
parent
4f7090b93d
commit
52c0de1de1
28
src/misc2.c
28
src/misc2.c
@ -1740,34 +1740,6 @@ vim_memset(void *ptr, int c, size_t size)
|
||||
}
|
||||
#endif
|
||||
|
||||
/* skipped when generating prototypes, the prototype is in vim.h */
|
||||
#ifdef VIM_MEMMOVE
|
||||
/*
|
||||
* Version of memmove() that handles overlapping source and destination.
|
||||
* For systems that don't have a function that is guaranteed to do that (SYSV).
|
||||
*/
|
||||
void
|
||||
mch_memmove(void *src_arg, void *dst_arg, size_t len)
|
||||
{
|
||||
/*
|
||||
* A void doesn't have a size, we use char pointers.
|
||||
*/
|
||||
char *dst = dst_arg, *src = src_arg;
|
||||
|
||||
/* overlap, copy backwards */
|
||||
if (dst > src && dst < src + len)
|
||||
{
|
||||
src += len;
|
||||
dst += len;
|
||||
while (len-- > 0)
|
||||
*--dst = *--src;
|
||||
}
|
||||
else /* copy forwards */
|
||||
while (len-- > 0)
|
||||
*dst++ = *src++;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if (!defined(HAVE_STRCASECMP) && !defined(HAVE_STRICMP)) || defined(PROTO)
|
||||
/*
|
||||
* Compare two strings, ignoring case, using current locale.
|
||||
|
@ -423,21 +423,17 @@ typedef struct dsc$descriptor DESC;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* memmove is not present on all systems, use memmove, bcopy, memcpy or our
|
||||
* own version */
|
||||
/* Some systems have (void *) arguments, some (char *). If we use (char *) it
|
||||
/* memmove() is not present on all systems, use memmove, bcopy or memcpy.
|
||||
* Some systems have (void *) arguments, some (char *). If we use (char *) it
|
||||
* works for all */
|
||||
#ifdef USEMEMMOVE
|
||||
#if defined(USEMEMMOVE) || (!defined(USEBCOPY) && !defined(USEMEMCPY))
|
||||
# define mch_memmove(to, from, len) memmove((char *)(to), (char *)(from), len)
|
||||
#else
|
||||
# ifdef USEBCOPY
|
||||
# define mch_memmove(to, from, len) bcopy((char *)(from), (char *)(to), len)
|
||||
# else
|
||||
# ifdef USEMEMCPY
|
||||
/* ifdef USEMEMCPY */
|
||||
# define mch_memmove(to, from, len) memcpy((char *)(to), (char *)(from), len)
|
||||
# else
|
||||
# define VIM_MEMMOVE /* found in misc2.c */
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
@ -764,6 +764,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
241,
|
||||
/**/
|
||||
240,
|
||||
/**/
|
||||
|
11
src/vim.h
11
src/vim.h
@ -1714,15 +1714,8 @@ typedef unsigned short disptick_T; /* display tick type */
|
||||
|
||||
typedef void *vim_acl_T; /* dummy to pass an ACL to a function */
|
||||
|
||||
/*
|
||||
* Include a prototype for mch_memmove(), it may not be in alloc.pro.
|
||||
*/
|
||||
#ifdef VIM_MEMMOVE
|
||||
void mch_memmove(void *, void *, size_t);
|
||||
#else
|
||||
# ifndef mch_memmove
|
||||
# define mch_memmove(to, from, len) memmove(to, from, len)
|
||||
# endif
|
||||
#ifndef mch_memmove
|
||||
# define mch_memmove(to, from, len) memmove((char*)(to), (char*)(from), (char*)(len))
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user