Skip to content

Commit 8d4c1c2

Browse files
committed
修复一个错误
1 parent 03d530d commit 8d4c1c2

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

src/luadebug/compat/5x/table.cpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -139,16 +139,15 @@ namespace luadebug::table {
139139

140140
bool get_array(lua_State* L, const void* tv, unsigned int i) {
141141
#if LUA_VERSION_NUM >= 505
142-
Table* t = (Table*)tv;
143-
unsigned k = (i - 1 < t->asize) ? i : 0;
144-
if (k == 0) {
142+
Table* t = (Table*)tv;
143+
if (i >= t->asize) {
145144
return false;
146145
}
147-
lu_byte tag = *getArrTag(t, k - 1);
146+
lu_byte tag = *getArrTag(t, i);
148147
if (tagisempty(tag)) {
149148
return false;
150149
}
151-
farr2val(t, k - 1, tag, s2v(LUA_STKID(L->top)));
150+
farr2val(t, i, tag, s2v(LUA_STKID(L->top)));
152151
LUA_STKID(L->top) += 1;
153152
return true;
154153
#else
@@ -166,11 +165,10 @@ namespace luadebug::table {
166165
bool set_array(lua_State* L, const void* tv, unsigned int i) {
167166
#if LUA_VERSION_NUM >= 505
168167
Table* t = (Table*)tv;
169-
unsigned k = (i - 1 < t->asize) ? i : 0;
170-
if (k == 0) {
168+
if (i >= t->asize) {
171169
return false;
172170
}
173-
obj2arr(t, k - 1, s2v(LUA_STKID(L->top) - 1));
171+
obj2arr(t, i, s2v(LUA_STKID(L->top) - 1));
174172
LUA_STKID(L->top) -= 1;
175173
return true;
176174
#else

0 commit comments

Comments
 (0)