2 // $Id: safe_memcpy.c,v 1.2 2007/10/17 10:57:56 sendan Exp $
14 char * safe_memcpy(char * buf, char * newdata, int max_len)
19 fprintf(stderr,"safe_memcpy(0): insert data is NULL.\n");
23 else if(newdata[0] == (char)0x00){
28 data_count = (int)strlen(newdata);
31 buf = (char *)calloc(BUF_LEN, sizeof(char));
37 if(max_len < data_count){
38 if((buf = (char *)realloc(buf, (max_len + 1)))==NULL){
39 fprintf(stderr,"The memory cannot be newly secured. \n");
42 memset(buf, (char)0x00, max_len);
43 count_memcpy(buf, newdata, max_len);
44 fprintf(stderr,"data size err %s %d %d\n", buf, data_count, max_len);
48 if((buf = (char *)realloc(buf, (data_count + 2)))==NULL){
49 fprintf(stderr,"The memory cannot be newly secured. \n");
52 memset(buf, (char)0x00, data_count + 1);
53 count_memcpy(buf, newdata, data_count);
55 printf("COUNT = <%d> GET DATA = <%s>\n", data_count, buf);