diff options
author | Martin Willi <martin@strongswan.org> | 2008-07-09 12:18:06 +0000 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2008-07-09 12:18:06 +0000 |
commit | ddf944be3edfbe17e8a810b65d5c779111cf3661 (patch) | |
tree | 4d0a511e87730e271850b89ae3f7b450f4054aed /src/dumm/irdumm.c | |
parent | a9c46ace99b455d04a9934d83d7d1693019cde07 (diff) | |
download | strongswan-ddf944be3edfbe17e8a810b65d5c779111cf3661.tar.bz2 strongswan-ddf944be3edfbe17e8a810b65d5c779111cf3661.tar.xz |
loading ruby scripts specified at command line
Diffstat (limited to 'src/dumm/irdumm.c')
-rw-r--r-- | src/dumm/irdumm.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/dumm/irdumm.c b/src/dumm/irdumm.c index 16f7014bc..a3d392ad8 100644 --- a/src/dumm/irdumm.c +++ b/src/dumm/irdumm.c @@ -587,8 +587,9 @@ static void template_init() */ int main(int argc, char *argv[]) { - int state; + int state, i; struct sigaction action; + char buf[512]; ruby_init(); ruby_init_loadpath(); @@ -616,9 +617,23 @@ int main(int argc, char *argv[]) sigaction(SIGTERM, &action, NULL); sigaction(SIGSEGV, &action, NULL); sigaction(SIGHUP, &action, NULL); - - rb_require("irb"); + rb_eval_string_protect("include Dumm", &state); + if (state) + { + rb_p(ruby_errinfo); + } + for (i = 1; i < argc; i++) + { + snprintf(buf, sizeof(buf), "load \"%s\"", argv[i]); + printf("%s\n", buf); + rb_eval_string_protect(buf, &state); + if (state) + { + rb_p(ruby_errinfo); + } + } + rb_require("irb"); rb_eval_string_protect("IRB.start", &state); if (state) { |