Prechádzať zdrojové kódy

fix:尝试修复https://gitee.com/openLuat/LuatOS/issues/I6KSML

alienwalker 3 rokov pred
rodič
commit
4fcd65d75b
1 zmenil súbory, kde vykonal 6 pridanie a 3 odobranie
  1. 6 3
      components/fskv/luat_lib_fskv.c

+ 6 - 3
components/fskv/luat_lib_fskv.c

@@ -241,7 +241,7 @@ static int l_fskv_get(lua_State *L) {
         buff = tmp;
     }
 
-    lua_Integer *intVal;
+    lua_Integer intVal;
     // lua_Number *numVal;
     // LLOGD("KV value T=%02X", buff.b[0]);
     switch(buff[0]) {
@@ -257,8 +257,11 @@ static int l_fskv_get(lua_State *L) {
         // _, val = pack.unpack(data, ">f")
         break;
     case LUA_TINTEGER:
-        intVal = (lua_Integer*)(&buff[1]);
-        lua_pushinteger(L, *intVal);
+    	//不能直接赋值,右边指针地址和左边的位宽不一致
+    	memcpy(&intVal, &buff[1], sizeof(lua_Integer));
+//        intVal = (lua_Integer*)(&buff[1]);
+//        lua_pushinteger(L, *intVal);
+        lua_pushinteger(L, intVal);
         break;
     case LUA_TSTRING:
         lua_pushlstring(L, (const char*)(buff + 1), size - 1);