ret_code omf_write_autodep( void )
/********************************/
{
    struct omf_rec  obj;
    struct fname_list *curr;
    char	    *q,*p = StringBufferEnd;
    unsigned int    len;
    unsigned        idx;

    DebugMsg(("omf_write_autodep() enter\n"));
    for( idx = 0, curr = FNamesTab; idx < ModuleInfo.g.cnt_fnames; idx++, curr++ ) {
	DebugMsg(("omf_write_autodep(): write record for %s\n", curr->name ));
	InitRec( &obj, CMD_COMENT );
	obj.d.coment.attr = CMT_TNP;
	obj.d.coment.class = CMT_DEPENDENCY; /* 0xE9 */
#ifdef __FULLSRCPATH
	q = curr->fullname;
#else
	q = curr->name;
#endif
	len = strlen( q );
#if MAX_STRING_LEN > 255
	if ( len > 255 )
	    len = 255; /* length is 1 byte only */
#endif
	*((time_t *)p) = timet2dostime( curr->mtime );
	*(p + 4) = (unsigned char)len;
	memcpy( p + 5, q, len );
	AttachData( &obj, (uint_8 *)p, len + 5 );
	omf_write_record( &obj );
    }
    /* one NULL dependency record must be on the end */
    InitRec( &obj, CMD_COMENT );
    obj.d.coment.attr = CMT_TNP;
    obj.d.coment.class = CMT_DEPENDENCY;
    AttachData( &obj, (uint_8 *)"", 0 );
    omf_write_record( &obj );
    DebugMsg(("omf_write_autodep() exit\n"));
    return( NOT_ERROR );
}

