Fix compilation of string.byte(s, nil, n).

This commit is contained in:
Mike Pall 2013-12-22 11:43:44 +01:00
parent 279673ddfc
commit 89e8d70701

View File

@ -657,20 +657,19 @@ static void LJ_FASTCALL recff_string_range(jit_State *J, RecordFFData *rd)
end = argv2int(J, &rd->argv[2]);
}
} else { /* string.byte(str, [,start [,end]]) */
if (!tref_isnil(J->base[1])) {
if (tref_isnil(J->base[1])) {
start = 1;
trstart = lj_ir_kint(J, 1);
} else {
start = argv2int(J, &rd->argv[1]);
trstart = lj_opt_narrow_toint(J, J->base[1]);
trend = J->base[2];
if (tref_isnil(trend)) {
trend = trstart;
end = start;
} else {
trend = lj_opt_narrow_toint(J, trend);
end = argv2int(J, &rd->argv[2]);
}
}
if (J->base[1] && !tref_isnil(J->base[2])) {
trend = lj_opt_narrow_toint(J, J->base[2]);
end = argv2int(J, &rd->argv[2]);
} else {
trend = trstart = lj_ir_kint(J, 1);
end = start = 1;
trend = trstart;
end = start;
}
}
if (end < 0) {