Ejemplo n.º 1
0
static void fnameFini(          // FINISH FNAME PROCESSING
    INITFINI* defn )            // - definition
{
    /* unused parameters */ (void)defn;

    RingFree( &fnameList );
}
Ejemplo n.º 2
0
void DwioBuffFini(              // BUFFERING COMPLETION
    void )
{
    if( NULL != beingWritten ) {
        CMemFreePtr( &beingWritten );
    }
    RingFree( &freeBufs );
}
Ejemplo n.º 3
0
pch_status PCHReadSegments( void )
{
    char *src_suffix;
    char *dest_suffix;
    char *class_name;
    size_t class_name_len;
    size_t suffix_len;
    size_t len;
    size_t old_module_len;
    size_t curr_module_len;
    size_t extra;
    fe_seg_id sib_id;
    PC_SEGMENT *curr;

    curr_module_len = strlen( ModuleName );
    old_module_len = PCHReadUInt();
    extra = 0;
    if( curr_module_len > old_module_len ) {
        extra = curr_module_len - old_module_len;
    }
    PCHRead( &seg_max, sizeof( seg_max ) );
    PCHRead( &dgroup_size, sizeof( dgroup_size ) );
    RingFree( &seg_list );
    for(;;) {
        len = PCHReadUInt();
        if( len == 0 ) break;
        curr = CMemAlloc( len + extra );
        PCHRead( curr, len );
        if( curr->module_prefix ) {
            if( old_module_len != curr_module_len ) {
                suffix_len = len;
                suffix_len -= sizeof( PC_SEGMENT ) - sizeof( char );
                suffix_len -= old_module_len;
                src_suffix = &(curr->name[old_module_len]);
                dest_suffix = &(curr->name[curr_module_len]);
                memmove( dest_suffix, src_suffix, suffix_len );
            }
            memcpy( curr->name, ModuleName, curr_module_len );
        }
        curr->label = SymbolMapIndex( curr->label );
        class_name_len = (size_t) curr->class_name;
        if( class_name_len != 0 ) {
            class_name = CPermAlloc( class_name_len );
            PCHRead( class_name, class_name_len );
        } else {
            class_name = NULL;
        }
        curr->class_name = class_name;
        RingAppend( &seg_list, curr );
    }
    RingIterBeg( seg_list, curr ) {
        sib_id = (fe_seg_id) curr->sibling;
        if( sib_id != curr->seg_id ) {
            curr->sibling = segIdLookup( sib_id );
        } else {
            curr->sibling = curr;
        }
    }
Ejemplo n.º 4
0
static void readExtrefs( void )
{
    SYMBOL       sym;
    unsigned     len;
    PRAG_EXT_REF *entry;

    RingFree( &pragmaExtrefs );
    while( (sym = SymbolPCHRead()) != NULL ) {
        entry = RingAlloc( &pragmaExtrefs, offsetof( PRAG_EXT_REF, name ) + 1 );
        entry->symbol = sym;
        entry->name[0] = '\0';
    }
    while( (len = PCHReadUInt()) != 0 ) {
        entry = RingAlloc( &pragmaExtrefs, offsetof( PRAG_EXT_REF, name ) + len + 1 );
        PCHRead( entry->name, len + 1 );
        entry->symbol = NULL;
    }
}
Ejemplo n.º 5
0
static void fini(               // FINALIZATION
    INITFINI* defn )            // - definition
{
    defn = defn;
    RingFree( &scopes );
}
Ejemplo n.º 6
0
void SegmentFini(               // SEGMENT: COMPLETION
    void )
{
    RingFree( &seg_list );
}
Ejemplo n.º 7
0
void FiniStringTable( stringtable *strtab )
/************************************************/
{
    RingFree( &strtab->data );
}
Ejemplo n.º 8
0
static void fini                // MODULE COMPLETION
    ( INITFINI* defn )
{
    defn = defn;
    RingFree( &pragmaExtrefs );
}
Ejemplo n.º 9
0
void CgInfoFreeLibs( void )
/*************************/
{
    RingFree( &libRing );
}
Ejemplo n.º 10
0
static void macroStorageFree( MACRO_SEG_LIST **seglist, MEPTR **hashtab )
{
    CMemFreePtr( hashtab );
    RingFree( seglist );
}