rem: strcpy(buf2,STRINGZ_VALUE_OF(o)); strcat(buf2,"."); strcat(buf2,buf1);
add: strncpy(buf2,STRINGZ_VALUE_OF(o), sizeof(buf2)); buf2[sizeof(buf2)-1] = '\0'; strncat(buf2,".", sizeof(buf2)-strlen(buf2)); strncat(buf2,buf1, sizeof(buf2)-strlen(buf2));
context: static void writeGroup(OFile *fp, VObject *o){    char buf1[256];    char buf2[256];    strcpy(buf1,NAME_OF(o));    while ((o=isAPropertyOf(o,VCGroupingProp)) != 0) {	strcpy(buf2,STRINGZ_VALUE_OF(o));	strcat(buf2,".");	strcat(buf2,buf1);	strcpy(buf1,buf2);	}    appendsOFile(fp,buf1);}