diff --git a/src/operators.c b/src/operators.c index d893c6016f5c962461105b187264e4ec2db81db4..b81fc0ebb97fee09f06ec676c2f9e157bd7a3c02 100644 --- a/src/operators.c +++ b/src/operators.c @@ -6,7 +6,7 @@ /**/ #include "global.h" #include <math.h> -RCSID("$Id: operators.c,v 1.110 2000/10/15 12:24:14 grubba Exp $"); +RCSID("$Id: operators.c,v 1.111 2000/10/15 14:19:24 grubba Exp $"); #include "interpret.h" #include "svalue.h" #include "multiset.h" @@ -1660,7 +1660,7 @@ PMOD_EXPORT void o_multiply(void) asize = (ptrdiff_t)floor(delta * sp[-1].u.float_number + 0.5); ret = allocate_array(asize); pos = ret->item; - if (asize >= delta) { + if (asize > delta) { ret->type_field = src->type_field; assign_svalues_no_free(pos, src->item, @@ -1668,7 +1668,7 @@ PMOD_EXPORT void o_multiply(void) src->type_field); pos += delta; asize -= delta; - while (asize >= delta) { + while (asize > delta) { assign_svalues_no_free(pos, ret->item, delta, ret->type_field); pos += delta; asize -= delta; @@ -1705,11 +1705,11 @@ PMOD_EXPORT void o_multiply(void) delta = src->len << src->size_shift; pos = ret->str; - if (len >= delta) { + if (len > delta) { MEMCPY(pos, src->str, delta); pos += delta; len -= delta; - while (len >= delta) { + while (len > delta) { MEMCPY(pos, ret->str, delta); pos += delta; len -= delta;