60 lines
1.8 KiB
Diff
60 lines
1.8 KiB
Diff
|
According to POSIX memmove and memcpy can actually be macros or whatever
|
||
|
(IIRC). We'd better not play with those in code that uses libc's headers
|
||
|
and is to be linked with libc.
|
||
|
|
||
|
2008-08-08 Lubomir Rintel <lkundrak@fedoraproject.org>
|
||
|
|
||
|
* include/grub/misc.h: Surround memmove and memcpy prototypes with
|
||
|
#ifndef GRUB_UTIL
|
||
|
* kern/misc.c: Surround memmove, memcpy and memset prototypes with
|
||
|
#ifndef GRUB_UTIL
|
||
|
|
||
|
Index: kern/misc.c
|
||
|
===================================================================
|
||
|
--- kern/misc.c (revision 1797)
|
||
|
+++ kern/misc.c (working copy)
|
||
|
@@ -44,11 +44,15 @@
|
||
|
|
||
|
return dest;
|
||
|
}
|
||
|
+#ifdef GRUB_UTIL
|
||
|
+#include <string.h>
|
||
|
+#else
|
||
|
void *memmove (void *dest, const void *src, grub_size_t n)
|
||
|
__attribute__ ((alias ("grub_memmove")));
|
||
|
/* GCC emits references to memcpy() for struct copies etc. */
|
||
|
void *memcpy (void *dest, const void *src, grub_size_t n)
|
||
|
__attribute__ ((alias ("grub_memmove")));
|
||
|
+#endif
|
||
|
|
||
|
char *
|
||
|
grub_strcpy (char *dest, const char *src)
|
||
|
@@ -514,8 +518,10 @@
|
||
|
|
||
|
return s;
|
||
|
}
|
||
|
+#ifndef GRUB_UTIL
|
||
|
void *memset (void *s, int c, grub_size_t n)
|
||
|
__attribute__ ((alias ("grub_memset")));
|
||
|
+#endif
|
||
|
|
||
|
grub_size_t
|
||
|
grub_strlen (const char *s)
|
||
|
Index: include/grub/misc.h
|
||
|
===================================================================
|
||
|
--- include/grub/misc.h (revision 1797)
|
||
|
+++ include/grub/misc.h (working copy)
|
||
|
@@ -39,8 +39,12 @@
|
||
|
char *EXPORT_FUNC(grub_strncat) (char *dest, const char *src, int c);
|
||
|
|
||
|
/* Prototypes for aliases. */
|
||
|
+#ifdef GRUB_UTIL
|
||
|
+#include <string.h>
|
||
|
+#else
|
||
|
void *EXPORT_FUNC(memmove) (void *dest, const void *src, grub_size_t n);
|
||
|
void *EXPORT_FUNC(memcpy) (void *dest, const void *src, grub_size_t n);
|
||
|
+#endif
|
||
|
|
||
|
int EXPORT_FUNC(grub_memcmp) (const void *s1, const void *s2, grub_size_t n);
|
||
|
int EXPORT_FUNC(grub_strcmp) (const char *s1, const char *s2);
|