Missed adding file from Eric Valette <valette@crf.canon.fr>.

This file is necessary because the bootloader is compiled with different
options than the basic C library.
This commit is contained in:
Joel Sherrill
1999-07-28 16:14:57 +00:00
parent c32555cb27
commit f82c98bbb5
2 changed files with 106 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
/* lib.c
*
* This file contains the implementation of functions that are unresolved
* in the bootloader. Unfortunately it shall not use any object code
* from newlib or rtems because they are not compiled with the right option!!!
*
* You've been warned!!!.
*
* CopyRight (C) 1998, 1999 valette@crf.canon.fr
*
* The license and distribution terms for this file may be
* found in found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* $Id$
*/
void* memset(void *p, int c, unsigned int n)
{
char *q =p;
for(; n>0; --n) *q++=c;
return p;
}
void* memcpy(void *dst, const void * src, unsigned int n)
{
unsigned char *d=dst;
const unsigned char *s=src;
while(n-- > 0) *d++=*s++;
return dst;
}
char* strcat(char * dest, const char * src)
{
char *tmp = dest;
while (*dest)
dest++;
while ((*dest++ = *src++) != '\0')
;
return tmp;
}
int strlen(const char* string)
{
register int i = 0;
while (string[i] != '\0')
++i;
return i;
}

View File

@@ -0,0 +1,53 @@
/* lib.c
*
* This file contains the implementation of functions that are unresolved
* in the bootloader. Unfortunately it shall not use any object code
* from newlib or rtems because they are not compiled with the right option!!!
*
* You've been warned!!!.
*
* CopyRight (C) 1998, 1999 valette@crf.canon.fr
*
* The license and distribution terms for this file may be
* found in found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* $Id$
*/
void* memset(void *p, int c, unsigned int n)
{
char *q =p;
for(; n>0; --n) *q++=c;
return p;
}
void* memcpy(void *dst, const void * src, unsigned int n)
{
unsigned char *d=dst;
const unsigned char *s=src;
while(n-- > 0) *d++=*s++;
return dst;
}
char* strcat(char * dest, const char * src)
{
char *tmp = dest;
while (*dest)
dest++;
while ((*dest++ = *src++) != '\0')
;
return tmp;
}
int strlen(const char* string)
{
register int i = 0;
while (string[i] != '\0')
++i;
return i;
}