ThePhD / sol2

Sol3 (sol2 v3.0) - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great! Documentation:
http://sol2.rtfd.io/
MIT License
4.2k stars 516 forks source link

Warning with `require_file` #1394

Open HTV04 opened 2 years ago

HTV04 commented 2 years ago

I'm currently using Lua 5.1 (LuaJIT). When using the require_file function, I'm getting this error:

(More "inlined from" statements above this but they're not important)
    inlined from 'sol::optional<sol::basic_object<sol::basic_reference<false> > > sol::state_view::is_loaded_package(const std::string&)' at sol/state_view.hpp:50:82:
sol/compatibility/compat-5.3.h:290:16: warning: array subscript 'const char [8][0]' is partly outside array bounds of 'const char [7]' [-Warray-bounds]
  290 |   (lua_getfield((L), (i), (k)), lua_type((L), -1))
      |    ~~~~~~~~~~~~^~~~~~~~~~~~~~~
sol/stack_field.hpp:116:49: note: in expansion of macro 'lua_getfield'
  116 |                                                 lua_getfield(L, tableindex, &key[0]);

Looking at the traceback, I found this line: https://github.com/ThePhD/sol2/blob/4de99c5b41b64b7e654bf8e48b177e8414a756b7/include/sol/state_view.hpp#L50

It seems that making these two strings the same length (which would cause issues for Lua though) fixes the warning, so could the error be related to string comparison somehow?