Changeset 137 for trunk/src


Ignore:
Timestamp:
May 6, 2008, 4:17:43 PM (11 years ago)
Author:
lindanl
Message:

ATT_info: emumValues using nameID.

Location:
trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/engine.c

    r136 r137  
    14271427        ScanTo(NonWS);
    14281428       
    1429         int     name_start = AbsPos();
    14301429        int nameID = Parse_Name();
    1431         int     lgth = AbsPos()-name_start;
    1432        
    1433         char *s = new char[lgth+1];
    1434         memcpy(s, GetCodeUnitPtr(name_start), lgth);
    1435         s[lgth] = '\0';
    1436        
    1437         this_info->enumValues[s]=++(enumCount);
     1430       
     1431        this_info->enumValues[nameID]=++(enumCount);
    14381432       
    14391433        ScanTo(NonWS);
    14401434        while(AtChar<C,'|'>(cur())){
    14411435                Advance(1);
    1442                 ScanTo(NonWS);         
    1443                 name_start = AbsPos();
     1436                ScanTo(NonWS); 
    14441437                int nameID = Parse_Name();
    1445                 lgth = AbsPos()-name_start;
    1446        
    1447                 char *s = new char[lgth+1];
    1448                 memcpy(s, GetCodeUnitPtr(name_start), lgth);
    1449                 s[lgth] = '\0';
    1450        
    1451                 int enumID = this_info->enumValues[s];
     1438       
     1439                int enumID = this_info->enumValues[nameID];
    14521440                if(enumID==0){ 
    1453                         this_info->enumValues[s]=++(enumCount);
     1441                        this_info->enumValues[nameID]=++(enumCount);
    14541442                        enumID = enumCount;
    14551443                }
  • trunk/src/xmlmodel.h

    r135 r137  
    9090        int globalATT_id;
    9191        ATT_type attType;
    92         hash_map<const char *, int, hash<const char *>, eqstr > enumValues; /* For NOTATION_att or enumeration_att.*/
     92        hash_map<int, int > enumValues; /* For NOTATION_att or enumeration_att.*/
    9393        ATT_default_kind defaultKind;
    9494        unsigned char * defaultValue;
Note: See TracChangeset for help on using the changeset viewer.