/*
An safe strcpy function
Author: Arthur Bryant
Date: 2010-03-06
*/
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
char * strcpysafe(char * dest, char * src)
{
/*check null pointer*/
assert(dest != NULL && src != NULL);
char * cp;
cp = dest;
/*check overflow*/
while(*cp != '/0' && *src != '/0')
*cp++ = *src++;
*cp = '/0';
return dest;
}
int main()
{
char a[5] = "abdc";
char * b = "efghmh";
strcpysafe(a, b);
printf("%s/n", a);
return 0;
}