|
22 | 22 | */ |
23 | 23 |
|
24 | 24 | #if defined(LUA_JIT_51) |
| 25 | +# include "luadriver.h" |
25 | 26 | # include "jitsupport.h" |
26 | 27 |
|
27 | 28 | # include "lang.h" |
|
169 | 170 | } |
170 | 171 |
|
171 | 172 |
|
172 | | - int jitargs(lua_State* L, Array* luajit_jcmds, Array* luajit_opts, |
173 | | - char** luajit_bc, int squelch, int post_exist) |
174 | | - { |
175 | | - if(luajit_jcmds != NULL) { |
176 | | - for(size_t i=0; i<luajit_jcmds->size; i++) |
177 | | - if(dojitcmd(L, (const char*) array_get(luajit_jcmds, i)) != 0) |
178 | | - fputs(_("JS_FAILED_CONTROL_CMD"), stderr); |
| 173 | + int jitargs(lua_State* L, LC_ARGS ARGS) { |
| 174 | + |
| 175 | + if(ARGS.jitjcmd != NULL) { |
| 176 | + const char* cmd = (*(ARGS.jitjcmd[ARGS.jitjcmd_argc] + 2) == '\0') |
| 177 | + ? ARGS.jitjcmd[ARGS.jitjcmd_argc + 1] |
| 178 | + : ARGS.jitjcmd[ARGS.jitjcmd_argc] + 2; |
| 179 | + |
| 180 | + if(cmd == 0) |
| 181 | + fputs(_("MALFORMED_J_NO_PARAM"), stderr); |
| 182 | + |
| 183 | + if(dojitcmd(L, cmd) == 1) |
| 184 | + fputs(_("JS_FAILED_CONTROL_CMD"), stderr); |
179 | 185 | } |
180 | | - |
181 | | - if(luajit_opts != NULL) { |
182 | | - for(size_t i=0; i<luajit_opts->size; i++) |
183 | | - if(dojitopt(L, (const char*) array_get(luajit_opts, i)) != 0) |
184 | | - fputs(_("JS_FAILED_SET_O"), stderr); |
| 186 | + |
| 187 | + if(ARGS.jitocmd != NULL) { |
| 188 | + if(dojitopt(L, ARGS.jitocmd[ARGS.jitocmd_argc] + 2) == 1) |
| 189 | + fputs(_("JS_FAILED_SET_O"), stderr); |
185 | 190 | } |
186 | 191 |
|
187 | | - if(squelch == 0 && post_exist == 1) |
| 192 | + if(ARGS.copyright_squelch == 0 && ARGS.post_exist == 1) |
188 | 193 | print_jit_status(L); |
189 | 194 |
|
190 | | - if(luajit_bc != NULL) |
191 | | - return dobytecode(L, luajit_bc); |
| 195 | + if(ARGS.jitbcmd != NULL) |
| 196 | + return dobytecode(L, ARGS.jitbcmd + ARGS.jitjcmd_argc + 1); |
| 197 | + |
192 | 198 |
|
193 | 199 | return 0; // success |
194 | 200 | } |
|
0 commit comments