mruby.c: `-b` option should only affects the script.

Not the libraries loaded by `-r`. Instead, `.mrb` extension in the path
should determine whether they are compiled binary.
parent bf8e061c
......@@ -63,6 +63,16 @@ usage(const char *name)
printf(" %s\n", *p++);
}
static mrb_bool
mrb_extension_p(const char *path)
{
const char *e = rindex(path, '.');
if (e && e[1] == 'm' && e[2] == 'r' && e[3] == 'b' && e[4] == '\0') {
return TRUE;
}
return FALSE;
}
static void
options_init(struct options *opts, int argc, char **argv)
{
......@@ -323,7 +333,7 @@ main(int argc, char **argv)
return EXIT_FAILURE;
}
mrbc_filename(mrb, c, args.libv[i]);
if (args.mrbfile) {
if (mrb_extension_p(args.libv[i])) {
v = mrb_load_irep_file_cxt(mrb, lfp, c);
}
else {
......@@ -340,7 +350,7 @@ main(int argc, char **argv)
mrbc_filename(mrb, c, cmdline);
/* Load program */
if (args.mrbfile) {
if (args.mrbfile || mrb_extension_p(cmdline)) {
v = mrb_load_irep_file_cxt(mrb, args.rfp, c);
}
else if (args.rfp) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment