2 // $Id: safe_sprintf.c,v 1.2 2007/11/01 06:08:31 sendan Exp $
16 __attribute__((__format__(__printf__, 3, 4))) char * safe_sprintf(char * data, long int max_len, const char * fmt,...)
23 data = (char *)calloc(BUF_LEN, sizeof(char));
26 data = null_free(data);
30 if((fp = fopen("/dev/null", "w+"))!=NULL){
31 len = vfprintf(fp, fmt, args);
35 len = vfprintf(stderr, fmt, args);
44 if((data = (char *)realloc(data, (len + 2) * sizeof(char)))==NULL){
45 fprintf(stderr,"The memory cannot be newly secured. \n");
48 vsnprintf(data, (len + 1), fmt, args);