Fixed bug: divide by 0
authorceriel <none@none>
Mon, 9 Nov 1992 10:14:47 +0000 (10:14 +0000)
committerceriel <none@none>
Mon, 9 Nov 1992 10:14:47 +0000 (10:14 +0000)
lang/m2/comp/type.c

index 0451235..5031398 100644 (file)
@@ -125,7 +125,7 @@ align(pos, al)
        int i = pos % al;
 
        if (i) return pos + (al - i);
-       return pos;
+       return pos == 0 ? 1 : pos;
 }
 
 t_type *
@@ -384,6 +384,8 @@ subr_type(lb, ub, base)
        */
        if (! chk_bounds(lb->nd_INT, ub->nd_INT, tp->tp_fund)) {
                node_error(lb, "lower bound exceeds upper bound");
+               ub->nd_INT = lb->nd_INT;
+               res->sub_ub = res->sub_lb;
        }
 
        if (tp == card_type) {