func: int main() FILE * f ; u_char buf [ 1000 ] ; u_char * p ; char * temp , * temp1 ; u_char * comp_dn , * comp_dn2 ; char exp_dn [ 200 ] , exp_dn2 [ 200 ] ; u_char * * dnptrs , * * lastdnptr , * * dnptrs2 ; int i , len = 0 , comp_size ; dnptrs = ( unsigned char * * ) malloc ( 2 * sizeof ( unsigned char * ) ); dnptrs2 = ( unsigned char * * ) malloc ( 2 * sizeof ( unsigned char * ) ); comp_dn = ( unsigned char * ) malloc ( 200 * sizeof ( unsigned char ) ); comp_dn2 = ( unsigned char * ) malloc ( 200 * sizeof ( unsigned char ) ); temp1 = ( char * ) malloc ( 400 * sizeof ( char ) ); temp = temp1; p = buf; strcpy ( temp , "HEADER JUNK:" ); len += strlen ( temp ); while ( * temp != '\0' )  * p ++ = * temp ++; strcpy ( exp_dn , "lcs.mit.edu" ); * dnptrs ++ = ( u_char * ) exp_dn; * dnptrs -- = NULL; lastdnptr = NULL; comp_size = dn_comp ( ( const char * ) exp_dn , comp_dn , 200 , dnptrs , lastdnptr ); for(i=0; i<comp_size; i++) * p ++ = * comp_dn ++; len += comp_size; p += 2; p += 2; p += 4; p += 2; len += 10; strcpy ( exp_dn2 , "sls.lcs.mit.edu" ); * dnptrs2 ++ = ( u_char * ) exp_dn2; * dnptrs2 -- = NULL; lastdnptr = NULL; comp_size = dn_comp ( ( const char * ) exp_dn2 , comp_dn2 , 200 , dnptrs2 , lastdnptr ); len += comp_size; for(i=0; i<comp_size; i++) * p ++ = * comp_dn2 ++; p += 4; p += 4; p += 4; p += 4; len += 16; f = fopen ( "SIGFILE" , "w" ); p = buf; for(i=0; i<len; i++, p++)  /* write record into file fputc(*p, f); 