81,9 → 81,8 |
for( index = 0; index < map->next; ++ index ){ |
if( map->items[ index ]->c == * identifier ){ |
++ identifier; |
if( length ) -- length; |
if( length || ( * identifier )){ |
return char_map_add( map->items[ index ], identifier, length, value ); |
if(( length > 1 ) || (( length == 0 ) && ( * identifier ))){ |
return char_map_add( map->items[ index ], identifier, length ? length - 1 : 0, value ); |
}else{ |
if( map->items[ index ]->value != CHAR_MAP_NULL ) return EEXISTS; |
map->items[ index ]->value = value; |
114,11 → 113,10 |
} |
map->items[ map->next ]->c = * identifier; |
++ identifier; |
if( length ) -- length; |
++ map->next; |
if( length || ( * identifier )){ |
if(( length > 1 ) || (( length == 0 ) && ( * identifier ))){ |
map->items[ map->next - 1 ]->value = CHAR_MAP_NULL; |
return char_map_add_item( map->items[ map->next - 1 ], identifier, length, value ); |
return char_map_add_item( map->items[ map->next - 1 ], identifier, length ? length - 1 : 0, value ); |
}else{ |
map->items[ map->next - 1 ]->value = value; |
} |
161,7 → 159,6 |
|
char_map_ref char_map_find_node( const char_map_ref map, const char * identifier, size_t length ){ |
if( ! char_map_is_valid( map )) return NULL; |
if( length ) -- length; |
if( length || ( * identifier )){ |
int index; |
|
168,7 → 165,8 |
for( index = 0; index < map->next; ++ index ){ |
if( map->items[ index ]->c == * identifier ){ |
++ identifier; |
return char_map_find_node( map->items[ index ], identifier, length ); |
if( length == 1 ) return map->items[ index ]; |
return char_map_find_node( map->items[ index ], identifier, length ? length - 1 : 0 ); |
} |
} |
return NULL; |