if (val == ce->ce_up) {
gen = 0;
ce = ce->ce_next;
- while (! ce->ce_label) ce = ce->ce_next;
+ while (ce && ! ce->ce_label) ce = ce->ce_next;
}
}
else if (sh->sh_default) C_rom_ilb(sh->sh_default);
find the proper place to put ce into the list
*/
- if (ce->ce_label) {
- if (! chk_bounds(sh->sh_lowerbd, ce->ce_low, fund)) {
- sh->sh_lowerbd = ce->ce_low;
- }
- if (! chk_bounds(ce->ce_up, sh->sh_upperbd, fund)) {
- sh->sh_upperbd = ce->ce_up;
- }
- }
while (c1 && chk_bounds(c1->ce_low, ce->ce_low, fund)) {
c2 = c1;
c1 = c1->ce_next;
c2->ce_next = ce;
}
+ if (ce->ce_label) {
+ if (! chk_bounds(sh->sh_lowerbd, ce->ce_low, fund)) {
+ sh->sh_lowerbd = ce->ce_low;
+ }
+ if (! chk_bounds(ce->ce_up, sh->sh_upperbd, fund)) {
+ sh->sh_upperbd = ce->ce_up;
+ }
+ }
}
if (ce->ce_label) sh->sh_nrofentries += ce->ce_up - ce->ce_low + 1;
}