mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
- Added memmove().
- Added hardware hive export. svn path=/trunk/; revision=4575
This commit is contained in:
parent
6aa450d7d9
commit
323bc49a36
3 changed files with 58 additions and 2 deletions
|
@ -46,11 +46,13 @@ int strnicmp(const char *string1, const char *string2, size_t length);
|
|||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
int memcmp(const void *buf1, const void *buf2, size_t count);
|
||||
void * memcpy(void *to, const void *from, size_t count);
|
||||
void * memmove(void *dest, const void *src, size_t count);
|
||||
void * memset(void *src, int val, size_t count);
|
||||
|
||||
#define RtlCompareMemory(Source1, Source2, Length) memcmp(Source1, Source2, Length)
|
||||
#define RtlCopyMemory(Destination, Source, Length) memcpy(Destination, Source, Length)
|
||||
#define RtlFillMemory(Destination, Length, Fill) memset(Destination, Fill, Length)
|
||||
#define RtlMoveMemory(Destination, Source, Length) memmove(Destination, Source, Length)
|
||||
#define RtlZeroMemory(Destination, Length) memset(Destination, 0, Length)
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
|
||||
/* just some stuff */
|
||||
#define VERSION "FreeLoader v1.8.7"
|
||||
#define VERSION "FreeLoader v1.8.8"
|
||||
#define COPYRIGHT "Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>"
|
||||
#define AUTHOR_EMAIL "<brianp@sginet.com>"
|
||||
#define BY_AUTHOR "by Brian Palmer"
|
||||
|
@ -36,7 +36,7 @@
|
|||
//
|
||||
#define FREELOADER_MAJOR_VERSION 1
|
||||
#define FREELOADER_MINOR_VERSION 8
|
||||
#define FREELOADER_PATCH_VERSION 7
|
||||
#define FREELOADER_PATCH_VERSION 8
|
||||
|
||||
|
||||
PUCHAR GetFreeLoaderVersionString(VOID);
|
||||
|
|
54
freeldr/freeldr/rtl/memmove.c
Normal file
54
freeldr/freeldr/rtl/memmove.c
Normal file
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
* FreeLoader
|
||||
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <freeldr.h>
|
||||
|
||||
void *memmove(void *dest, const void *src, size_t count)
|
||||
{
|
||||
char *char_dest = (char *)dest;
|
||||
char *char_src = (char *)src;
|
||||
|
||||
if ((char_dest <= char_src) || (char_dest >= (char_src+count)))
|
||||
{
|
||||
/* non-overlapping buffers */
|
||||
while(count > 0)
|
||||
{
|
||||
*char_dest = *char_src;
|
||||
char_dest++;
|
||||
char_src++;
|
||||
count--;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* overlaping buffers */
|
||||
char_dest = (char *)dest + count - 1;
|
||||
char_src = (char *)src + count - 1;
|
||||
|
||||
while(count > 0)
|
||||
{
|
||||
*char_dest = *char_src;
|
||||
char_dest--;
|
||||
char_src--;
|
||||
count--;
|
||||
}
|
||||
}
|
||||
|
||||
return dest;
|
||||
}
|
Loading…
Reference in a new issue