summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/misc2.c28
-rw-r--r--src/os_unix.h12
-rw-r--r--src/version.c2
-rw-r--r--src/vim.h11
4 files changed, 8 insertions, 45 deletions
diff --git a/src/misc2.c b/src/misc2.c
index 26d5970f9..dd0e69464 100644
--- a/src/misc2.c
+++ b/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.
diff --git a/src/os_unix.h b/src/os_unix.h
index d28aa4dde..695affaea 100644
--- a/src/os_unix.h
+++ b/src/os_unix.h
@@ -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
diff --git a/src/version.c b/src/version.c
index 4e4161719..08b5dec68 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 241,
+/**/
240,
/**/
239,
diff --git a/src/vim.h b/src/vim.h
index 4ebf34804..1bd38219a 100644
--- a/src/vim.h
+++ b/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
/*