mirror of
git://git.savannah.gnu.org/libtool.git
synced 2025-01-18 14:16:00 +08:00
* libltdl/lt__pre89.h, libltdl/memcpy.c, libltdl/memmove.c,
libltdl/strchr.c, libltdl/strcmp.c, libltdl/strrchr.c: Remove half-assed pre-c89 support entirely. * libltdl/lt__private.h: Don't refer to lt__pre89.h. * libltdl/Makefile.am (ltdldata_DATA): Remove references to deleted files. * NEWS: Mention it.
This commit is contained in:
parent
3431a0ab96
commit
7caaca4a5c
@ -1,5 +1,13 @@
|
|||||||
2004-04-13 Gary V. Vaughan <gary@gnu.org>
|
2004-04-13 Gary V. Vaughan <gary@gnu.org>
|
||||||
|
|
||||||
|
* libltdl/lt__pre89.h, libltdl/memcpy.c, libltdl/memmove.c,
|
||||||
|
libltdl/strchr.c, libltdl/strcmp.c, libltdl/strrchr.c: Remove
|
||||||
|
half-assed pre-c89 support entirely.
|
||||||
|
* libltdl/lt__private.h: Don't refer to lt__pre89.h.
|
||||||
|
* libltdl/Makefile.am (ltdldata_DATA): Remove references to
|
||||||
|
deleted files.
|
||||||
|
* NEWS: Mention it.
|
||||||
|
|
||||||
* libltdl/lt__pre89.h, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/argz.c,
|
* libltdl/lt__pre89.h, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/argz.c,
|
||||||
libltdl/argz.h, libltdl/lt__glibc.h, libltdl/lt_dlloader.h,
|
libltdl/argz.h, libltdl/lt__glibc.h, libltdl/lt_dlloader.h,
|
||||||
libltdl/lt__dirent.c, libltdl/lt__dirent.h, libltdl/lt__private.h,
|
libltdl/lt__dirent.c, libltdl/lt__dirent.h, libltdl/lt__private.h,
|
||||||
|
3
NEWS
3
NEWS
@ -42,6 +42,9 @@ New in 1.5b: 2004-??-??; CVS version 1.5a, Libtool team:
|
|||||||
up the stack; it is also not recommended practice.
|
up the stack; it is also not recommended practice.
|
||||||
* libltdl no longer uses lt_dlmalloc, lt_dlrealloc and lt_dlfree. The symbols
|
* libltdl no longer uses lt_dlmalloc, lt_dlrealloc and lt_dlfree. The symbols
|
||||||
are still exported for backwards compatibility.
|
are still exported for backwards compatibility.
|
||||||
|
* libltdl no longer supports pre-c89 compilers. Some of the pre89 portability
|
||||||
|
functions had compile time bugs in them anyway, so you guys can't have been
|
||||||
|
using it :-)
|
||||||
* make install now deletes preexisting $prefix/share/libtool before installing
|
* make install now deletes preexisting $prefix/share/libtool before installing
|
||||||
latest files.
|
latest files.
|
||||||
* Extracting symbols from an import library on cygwin and win32 now works.
|
* Extracting symbols from an import library on cygwin and win32 now works.
|
||||||
|
@ -42,7 +42,7 @@ libltdl_la_SOURCES = ltdl.h ltdl.c \
|
|||||||
loader-preopen.c \
|
loader-preopen.c \
|
||||||
lt_error.h lt_error.c lt_mutex.h lt_mutex.c \
|
lt_error.h lt_error.c lt_mutex.h lt_mutex.c \
|
||||||
lt__private.h lt__alloc.h lt__alloc.c \
|
lt__private.h lt__alloc.h lt__alloc.c \
|
||||||
lt__pre89.h lt__glibc.h argz.h lt__dirent.h \
|
lt__glibc.h argz.h lt__dirent.h \
|
||||||
lt_system.h
|
lt_system.h
|
||||||
libltdl_la_LDFLAGS = -no-undefined -version-info 5:0:2
|
libltdl_la_LDFLAGS = -no-undefined -version-info 5:0:2
|
||||||
libltdl_la_LIBADD = $(LIBADD_DL) $(LTLIBOBJS)
|
libltdl_la_LIBADD = $(LIBADD_DL) $(LTLIBOBJS)
|
||||||
@ -53,5 +53,4 @@ libltdlc_la_LIBADD = $(LIBADD_DL) $(LTLIBOBJS)
|
|||||||
## These are installed as a subdirectory of pkgdatadir so that
|
## These are installed as a subdirectory of pkgdatadir so that
|
||||||
## libtoolize --ltdl can find them later:
|
## libtoolize --ltdl can find them later:
|
||||||
ltdldatadir = $(pkgdatadir)/libltdl
|
ltdldatadir = $(pkgdatadir)/libltdl
|
||||||
ltdldata_DATA = COPYING.LIB Makefile.am README $(libltdl_la_SOURCES) \
|
ltdldata_DATA = COPYING.LIB Makefile.am README $(libltdl_la_SOURCES)
|
||||||
memcpy.c memmove.c strchr.c strcmp.c strrchr.c
|
|
||||||
|
@ -50,7 +50,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|||||||
# endif /* !RTLD_LAZY */
|
# endif /* !RTLD_LAZY */
|
||||||
#endif
|
#endif
|
||||||
#if !defined(LT_LAZY_OR_NOW)
|
#if !defined(LT_LAZY_OR_NOW)
|
||||||
# ifd efined(RTLD_NOW)
|
# if defined(RTLD_NOW)
|
||||||
# define LT_LAZY_OR_NOW RTLD_NOW
|
# define LT_LAZY_OR_NOW RTLD_NOW
|
||||||
# else
|
# else
|
||||||
# if defined(DL_NOW)
|
# if defined(DL_NOW)
|
||||||
|
@ -1,85 +0,0 @@
|
|||||||
/* lt__pre89.h -- support for pre-c89 libc implementations
|
|
||||||
Copyright (C) 2004 Free Software Foundation, Inc.
|
|
||||||
Originally by Gary V. Vaughan <gary@gnu.org>
|
|
||||||
|
|
||||||
NOTE: The canonical source of this file is maintained with the
|
|
||||||
GNU Libtool package. Report bugs to bug-libtool@gnu.org.
|
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Lesser General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
As a special exception to the GNU Lesser General Public License,
|
|
||||||
if you distribute this file as part of a program or library that
|
|
||||||
is built using GNU libtool, you may include it under the same
|
|
||||||
distribution terms that you use for the rest of that program.
|
|
||||||
|
|
||||||
This library is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
|
||||||
License along with this library; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
||||||
02111-1307 USA
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if !defined(LT__PREC89_H)
|
|
||||||
#define LT__PREC89_H 1
|
|
||||||
|
|
||||||
#if defined(HAVE_CONFIG_H)
|
|
||||||
# include HAVE_CONFIG_H
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "lt_system.h"
|
|
||||||
|
|
||||||
LT_BEGIN_C_DECLS
|
|
||||||
|
|
||||||
#if !defined(HAVE_STRCMP)
|
|
||||||
# undef strcmp
|
|
||||||
# define strcmp lt__strcmp
|
|
||||||
int strcmp (const char *str1, const char *str2);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(HAVE_STRCHR)
|
|
||||||
# if defined(HAVE_INDEX)
|
|
||||||
# define strchr index
|
|
||||||
# else
|
|
||||||
# undef strchr
|
|
||||||
# define strchr lt__strchr
|
|
||||||
const char *strchr (const char *str, int ch);
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(HAVE_STRRCHR)
|
|
||||||
# if defined(HAVE_RINDEX)
|
|
||||||
# define strrchr rindex
|
|
||||||
# else
|
|
||||||
# undef strcmp
|
|
||||||
# define strcmp lt__strcmp
|
|
||||||
const char *strrchr (const char *str, int ch);
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(HAVE_MEMCPY)
|
|
||||||
# if defined(HAVE_BCOPY)
|
|
||||||
# define memcpy(dest, src, size) bcopy((src), (dest), (size))
|
|
||||||
# else
|
|
||||||
# undef memcpy
|
|
||||||
# define memcpy lt__memcpy
|
|
||||||
void *memcpy (void *dest, const void *src, size_t size);
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(HAVE_MEMMOVE)
|
|
||||||
# undef memmove
|
|
||||||
# define memmove lt__memmove
|
|
||||||
void *memmove (void *dest, const void *src, size_t size);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
LT_END_C_DECLS
|
|
||||||
|
|
||||||
#endif /*!defined(LT__PREC89)*/
|
|
@ -58,7 +58,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|||||||
#include "lt__alloc.h"
|
#include "lt__alloc.h"
|
||||||
#include "lt__dirent.h"
|
#include "lt__dirent.h"
|
||||||
#include "lt__glibc.h"
|
#include "lt__glibc.h"
|
||||||
#include "lt__pre89.h"
|
|
||||||
|
|
||||||
/* ...and all exported interfaces. */
|
/* ...and all exported interfaces. */
|
||||||
#include "ltdl.h"
|
#include "ltdl.h"
|
||||||
|
@ -1,50 +0,0 @@
|
|||||||
/* memcpy.c -- copy a block of memory for pre-c89 libc
|
|
||||||
Copyright (C) 2004 Free Software Foundation, Inc.
|
|
||||||
Originally by Gary V. Vaughan <gary@gnu.org>
|
|
||||||
|
|
||||||
NOTE: The canonical source of this file is maintained with the
|
|
||||||
GNU Libtool package. Report bugs to bug-libtool@gnu.org.
|
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Lesser General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
As a special exception to the GNU Lesser General Public License,
|
|
||||||
if you distribute this file as part of a program or library that
|
|
||||||
is built using GNU libtool, you may include it under the same
|
|
||||||
distribution terms that you use for the rest of that program.
|
|
||||||
|
|
||||||
This library is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
|
||||||
License along with this library; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
||||||
02111-1307 USA
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "lt__pre89.h"
|
|
||||||
|
|
||||||
#include <stddef.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
/* NOTE: memcpy does not reliably handle copying in overlapping areas
|
|
||||||
of memory. Use memmove if you need that behaviour. */
|
|
||||||
|
|
||||||
void *
|
|
||||||
memcpy (void *dest, const void *src, size_t size)
|
|
||||||
{
|
|
||||||
char *d = dest;
|
|
||||||
const char *s = src;
|
|
||||||
|
|
||||||
while (size-- > 0)
|
|
||||||
{
|
|
||||||
*d++ = *s++;
|
|
||||||
}
|
|
||||||
|
|
||||||
return dest;
|
|
||||||
}
|
|
@ -1,58 +0,0 @@
|
|||||||
/* memmove.c -- move to a possibly overlapping block of memory for pre-c89 libc
|
|
||||||
Copyright (C) 2004 Free Software Foundation, Inc.
|
|
||||||
Originally by Gary V. Vaughan <gary@gnu.org>
|
|
||||||
|
|
||||||
NOTE: The canonical source of this file is maintained with the
|
|
||||||
GNU Libtool package. Report bugs to bug-libtool@gnu.org.
|
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Lesser General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
As a special exception to the GNU Lesser General Public License,
|
|
||||||
if you distribute this file as part of a program or library that
|
|
||||||
is built using GNU libtool, you may include it under the same
|
|
||||||
distribution terms that you use for the rest of that program.
|
|
||||||
|
|
||||||
This library is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
|
||||||
License along with this library; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
||||||
02111-1307 USA
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "lt__pre89.h"
|
|
||||||
|
|
||||||
#include <stddef.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
void *
|
|
||||||
memmove (void * dest, void * src, size_t size)
|
|
||||||
{
|
|
||||||
char *d = dest;
|
|
||||||
char *s = src;
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
if (dest < src)
|
|
||||||
while (size-- > 0)
|
|
||||||
{
|
|
||||||
*d++ = *s++;
|
|
||||||
}
|
|
||||||
else if (dest > src)
|
|
||||||
{
|
|
||||||
d += size;
|
|
||||||
s += size;
|
|
||||||
while (size-- > 0)
|
|
||||||
{
|
|
||||||
*--d = *--s;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return dest;
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
/* strchr.c -- scan for a char in a string for pre-c89 libc
|
|
||||||
Copyright (C) 2004 Free Software Foundation, Inc.
|
|
||||||
Originally by Gary V. Vaughan <gary@gnu.org>
|
|
||||||
|
|
||||||
NOTE: The canonical source of this file is maintained with the
|
|
||||||
GNU Libtool package. Report bugs to bug-libtool@gnu.org.
|
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Lesser General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
As a special exception to the GNU Lesser General Public License,
|
|
||||||
if you distribute this file as part of a program or library that
|
|
||||||
is built using GNU libtool, you may include it under the same
|
|
||||||
distribution terms that you use for the rest of that program.
|
|
||||||
|
|
||||||
This library is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
|
||||||
License along with this library; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
||||||
02111-1307 USA
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "lt__pre89.h"
|
|
||||||
|
|
||||||
const char *
|
|
||||||
strchr (const char *str, int ch)
|
|
||||||
{
|
|
||||||
const char *p;
|
|
||||||
|
|
||||||
for (p = str; *p != (char)ch && *p != '\0'; ++p)
|
|
||||||
/*NOWORK*/;
|
|
||||||
|
|
||||||
return (*p == (char)ch) ? p : 0;
|
|
||||||
}
|
|
@ -1,49 +0,0 @@
|
|||||||
/* strcmp.c -- compare strings for pre-c89 libc
|
|
||||||
Copyright (C) 2004 Free Software Foundation, Inc.
|
|
||||||
Originally by Gary V. Vaughan <gary@gnu.org>
|
|
||||||
|
|
||||||
NOTE: The canonical source of this file is maintained with the
|
|
||||||
GNU Libtool package. Report bugs to bug-libtool@gnu.org.
|
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Lesser General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
As a special exception to the GNU Lesser General Public License,
|
|
||||||
if you distribute this file as part of a program or library that
|
|
||||||
is built using GNU libtool, you may include it under the same
|
|
||||||
distribution terms that you use for the rest of that program.
|
|
||||||
|
|
||||||
This library is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
|
||||||
License along with this library; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
||||||
02111-1307 USA
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "lt__pre89.h"
|
|
||||||
|
|
||||||
int
|
|
||||||
strcmp (const char *str1, const char *str2)
|
|
||||||
{
|
|
||||||
if (str1 == str2)
|
|
||||||
return 0;
|
|
||||||
if (str1 == 0)
|
|
||||||
return -1;
|
|
||||||
if (str2 == 0)
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
for (;*str1 && *str2; ++str1, ++str2)
|
|
||||||
{
|
|
||||||
if (*str1 != *str2)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (int)(*str1 - *str2);
|
|
||||||
}
|
|
@ -1,46 +0,0 @@
|
|||||||
/* strrchr.c -- reverse scan for a char in a string for pre-c89 libc
|
|
||||||
Copyright (C) 2004 Free Software Foundation, Inc.
|
|
||||||
Originally by Gary V. Vaughan <gary@gnu.org>
|
|
||||||
|
|
||||||
NOTE: The canonical source of this file is maintained with the
|
|
||||||
GNU Libtool package. Report bugs to bug-libtool@gnu.org.
|
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Lesser General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
As a special exception to the GNU Lesser General Public License,
|
|
||||||
if you distribute this file as part of a program or library that
|
|
||||||
is built using GNU libtool, you may include it under the same
|
|
||||||
distribution terms that you use for the rest of that program.
|
|
||||||
|
|
||||||
This library is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
|
||||||
License along with this library; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
||||||
02111-1307 USA
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "lt__pre89.h"
|
|
||||||
|
|
||||||
const char *
|
|
||||||
strrchr (const char *str, int ch)
|
|
||||||
{
|
|
||||||
const char *p, *q = 0;
|
|
||||||
|
|
||||||
for (p = str; *p != '\0'; ++p)
|
|
||||||
{
|
|
||||||
if (*p == (char) ch)
|
|
||||||
{
|
|
||||||
q = p;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return q;
|
|
||||||
}
|
|
16
m4/ltdl.m4
16
m4/ltdl.m4
@ -109,22 +109,6 @@ AC_CHECK_HEADERS([memory.h unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h],
|
|||||||
[], [], [AC_INCLUDES_DEFAULT])
|
[], [], [AC_INCLUDES_DEFAULT])
|
||||||
AC_CHECK_HEADERS([string.h strings.h], [break], [], [AC_INCLUDES_DEFAULT])
|
AC_CHECK_HEADERS([string.h strings.h], [break], [], [AC_INCLUDES_DEFAULT])
|
||||||
|
|
||||||
AC_FOREACH([LTDL_Func], [strchr index strrchr rindex memcpy bcopy],
|
|
||||||
[AH_TEMPLATE(AS_TR_CPP(HAVE_[]LTDL_Func),
|
|
||||||
[Define to 1 if you have the `]LTDL_Func[' function.])])
|
|
||||||
|
|
||||||
AC_CHECK_FUNC([strchr], [AC_DEFINE([HAVE_STRCHR])],
|
|
||||||
[AC_CHECK_FUNC([index], [AC_DEFINE([HAVE_INDEX])],
|
|
||||||
[AC_LIBOBJ([strchr])])])
|
|
||||||
|
|
||||||
AC_CHECK_FUNC([strrchr], [AC_DEFINE([HAVE_STRRCHR])],
|
|
||||||
[AC_CHECK_FUNC([rindex], [AC_DEFINE([HAVE_RINDEX])],
|
|
||||||
[AC_LIBOBJ([strrchr])])])
|
|
||||||
|
|
||||||
AC_CHECK_FUNC([memcpy], [AC_DEFINE([HAVE_MEMCPY])],
|
|
||||||
[AC_CHECK_FUNC([bcopy], [AC_DEFINE([HAVE_BCOPY])],
|
|
||||||
[AC_LIBOBJ([memcpy])])])
|
|
||||||
|
|
||||||
AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])])
|
AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])])
|
||||||
|
|
||||||
AC_REPLACE_FUNCS([memmove strcmp])
|
AC_REPLACE_FUNCS([memmove strcmp])
|
||||||
|
Loading…
Reference in New Issue
Block a user