Changeset 9197

Show
Ignore:
Timestamp:
01/28/06 13:55:33 (3 years ago)
Author:
piotras
Message:

set property_up and property_parent

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/core/midgard/src/mgdschema.c

    r9184 r9197  
    5555        prop->is_primary = FALSE; 
    5656        prop->is_reversed = FALSE; 
    57  
     57        prop->is_link = FALSE; 
     58         
    5859        return prop;  
    5960} 
     
    345346                                prop_attr->table = g_strdup(g_strdup(attrval));                  
    346347 
    347                         if(g_str_equal(attr->name, "upfield")) 
     348                        if(g_str_equal(attr->name, "upfield")){ 
     349                                if(!type_attr->property_up){ 
     350                                        xmlChar *tmpattr = xmlGetProp (node, "name"); 
     351                                        type_attr->property_up = g_strdup(tmpattr); 
     352                                        xmlFree(tmpattr); 
     353                                } else { 
     354                                        g_warning("upfield redefined!"); 
     355                                } 
    348356                                prop_attr->upfield = g_strdup(g_strdup(attrval));                        
    349  
    350                         if(g_str_equal(attr->name, "parentfield")) 
    351                                 prop_attr->parentfield = g_strdup(g_strdup(attrval));                    
     357                        } 
     358 
     359                        if(g_str_equal(attr->name, "parentfield")){ 
     360                                if(!type_attr->property_up){                                                                                         xmlChar *tmpattr = xmlGetProp (node, "name"); 
     361                                        type_attr->property_parent = g_strdup(tmpattr); 
     362                                        xmlFree(tmpattr); 
     363                                } else {                          
     364                                        g_warning("parentfield redefined!"); 
     365                                } 
     366                                prop_attr->parentfield = g_strdup(g_strdup(attrval)); 
     367                        }                        
    352368 
    353369                        if(g_str_equal(attr->name, "multilang")) { 
     
    374390                                gchar **link = g_strsplit(attrval, ":", -1); 
    375391                                prop_attr->link = g_strdup(link[0]); 
     392                                prop_attr->is_link = TRUE; 
    376393                                g_strfreev(link); 
    377394                        }