| 2830 | } |
| 2831 | |
| 2832 | COMPAT53_API int lua_load(lua_State *L, lua_Reader reader, void *data, const char *source, const char *mode) { |
| 2833 | int status = LUA_OK; |
| 2834 | compat53_reader_data compat53_data = { reader, data, 1, 0, 0 }; |
| 2835 | compat53_data.peeked_data = reader(L, data, &(compat53_data.peeked_data_size)); |
| 2836 | if (compat53_data.peeked_data && compat53_data.peeked_data_size && |
| 2837 | compat53_data.peeked_data[0] == LUA_SIGNATURE[0]) /* binary file? */ |
| 2838 | status = compat53_checkmode(L, mode, "binary", LUA_ERRSYNTAX); |
| 2839 | else |
| 2840 | status = compat53_checkmode(L, mode, "text", LUA_ERRSYNTAX); |
| 2841 | if (status != LUA_OK) |
| 2842 | return status; |
| 2843 | /* we need to call the original 5.1 version of lua_load! */ |
| 2844 | #undef lua_load |
| 2845 | return lua_load(L, compat53_reader, &compat53_data, source); |
| 2846 | #define lua_load COMPAT53_CONCAT(COMPAT53_PREFIX, _load_53) |
| 2847 | } |
| 2848 | |
| 2849 | typedef struct { |
| 2850 | int n; /* number of pre-read characters */ |
no test coverage detected