Changeset 3495

Show
Ignore:
Timestamp:
01/13/06 16:13:39 (3 years ago)
Author:
morris
Message:

Add wi_runtime_class_with_name(), wi_runtime_class_with_id()

Plug a leak

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • libwired/trunk/libwired/base/wi-runtime.c

    r3355 r3495  
    109109#pragma mark - 
    110110 
     111wi_runtime_class_t * wi_runtime_class_with_name(wi_string_t *name) { 
     112        wi_runtime_class_t      *class; 
     113        const char                      *cname; 
     114        unsigned int            i; 
     115         
     116        cname = wi_string_cstring(name); 
     117         
     118        for(i = 0; i < _wi_runtime_class_table_count; i++) { 
     119                class = _wi_runtime_class_table[i]; 
     120                 
     121                if(strcmp(class->name, cname) == 0) 
     122                        return class; 
     123        } 
     124         
     125        return NULL; 
     126} 
     127 
     128 
     129 
     130wi_runtime_class_t * wi_runtime_class_with_id(wi_runtime_id_t id) { 
     131        if(id < _wi_runtime_class_table_count) 
     132                return _wi_runtime_class_table[id]; 
     133         
     134        return NULL; 
     135} 
     136 
     137 
     138 
     139#pragma mark - 
     140 
    111141wi_runtime_class_t * wi_runtime_class(wi_runtime_instance_t *instance) { 
    112142        if(_WI_RUNTIME_BASE(instance)->magic == _WI_RUNTIME_MAGIC) 
  • libwired/trunk/libwired/base/wi-runtime.h

    r3319 r3495  
    7070WI_EXPORT wi_runtime_instance_t *               wi_runtime_create_instance(wi_runtime_id_t, size_t); 
    7171 
     72WI_EXPORT wi_runtime_class_t *                  wi_runtime_class_with_name(wi_string_t *); 
     73WI_EXPORT wi_runtime_class_t *                  wi_runtime_class_with_id(wi_runtime_id_t); 
     74 
    7275WI_EXPORT wi_runtime_class_t *                  wi_runtime_class(wi_runtime_instance_t *); 
    7376WI_EXPORT const char *                                  wi_runtime_class_name(wi_runtime_instance_t *); 
  • libwired/trunk/libwired/net/wi-wired.c

    r3494 r3495  
    8181                else 
    8282                        *out_arguments = wi_array_init_with_string(wi_array_alloc(), substring, WI_STR(_WI_WIRED_FIELD_SEPARATOR)); 
     83 
     84                wi_release(substring); 
    8385        } else { 
    8486                *out_command = wi_retain(string);