unsigned long len; /* total length of entire bytecode
(not including multiple copies) */
- unsigned long mult_int; /* number of copies: integer version */
+ long mult_int; /* number of copies: integer version */
/* where it came from */
unsigned long line;
yasm_error_set(YASM_ERROR_VALUE, N_("multiple is negative"));
retval = -1;
} else
- bc->mult_int = yasm_intnum_get_uint(num);
+ bc->mult_int = yasm_intnum_get_int(num);
} else {
if (yasm_expr__contains(bc->multiple, YASM_EXPR_FLOAT)) {
yasm_error_set(YASM_ERROR_VALUE,
/*@out@*/ long *neg_thres, /*@out@*/ long *pos_thres)
{
if (span == 0) {
- if (new_val < 0) {
- yasm_error_set(YASM_ERROR_VALUE, N_("multiple is negative"));
- return -1;
- }
- bc->mult_int = (unsigned long)new_val;
+ bc->mult_int = new_val;
return 1;
}
if (!bc->callback) {
{
/*@only@*/ /*@null@*/ unsigned char *mybuf = NULL;
unsigned char *origbuf, *destbuf;
- unsigned long i;
+ long i;
int error = 0;
if (yasm_bc_get_multiple(bc, &bc->mult_int, 1) || bc->mult_int == 0) {
}
int
-yasm_bc_get_multiple(yasm_bytecode *bc, unsigned long *multiple,
- int calc_bc_dist)
+yasm_bc_get_multiple(yasm_bytecode *bc, long *multiple, int calc_bc_dist)
{
/*@dependent@*/ /*@null@*/ const yasm_intnum *num;
yasm_error_set(YASM_ERROR_VALUE, N_("multiple is negative"));
return 1;
}
- *multiple = yasm_intnum_get_uint(num);
+ *multiple = yasm_intnum_get_int(num);
}
return 0;
}
* calculated, 0 if error should be returned in this case
* \return 1 on error (set with yasm_error_set), 0 on success.
*/
-int yasm_bc_get_multiple(yasm_bytecode *bc, /*@out@*/ unsigned long *multiple,
+int yasm_bc_get_multiple(yasm_bytecode *bc, /*@out@*/ long *multiple,
int calc_bc_dist);
/** Create a new data value from an expression.