| version 1.23 | version 1.24 |
|---|
| |
| | |
| int topo_mol_set_segid(topo_mol *mol, const topo_mol_ident_t *target, | int topo_mol_set_segid(topo_mol *mol, const topo_mol_ident_t *target, |
| const char *segid) { | const char *segid) { |
| | int iseg, iseg2; |
| topo_mol_segment_t *seg; | topo_mol_segment_t *seg; |
| if ( ! mol ) return -1; | if ( ! mol ) return -1; |
| if ( ! target ) return -2; | if ( ! target ) return -2; |
| seg = topo_mol_get_seg(mol,target); | seg = topo_mol_get_seg(mol,target); |
| if ( ! seg ) return -3; | if ( ! seg ) return -3; |
| | iseg = hasharray_delete(mol->segment_hash, seg->segid); |
| | if ( iseg < 0) { |
| | topo_mol_log_error(mol, "Unable to delete segment"); |
| | return -4; |
| | } |
| strcpy(seg->segid,segid); | strcpy(seg->segid,segid); |
| | iseg2 = hasharray_reinsert(mol->segment_hash, seg->segid, iseg); |
| | if ( iseg != iseg2 ) { |
| | topo_mol_log_error(mol, "Unable to insert segment"); |
| | return -5; |
| | } |
| return 0; | return 0; |
| } | } |
| | |