summaryrefslogtreecommitdiff
path: root/lib/command.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/command.c')
-rw-r--r--lib/command.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/command.c b/lib/command.c
index 9dac60599c..b2b80daddd 100644
--- a/lib/command.c
+++ b/lib/command.c
@@ -2428,18 +2428,20 @@ DEFUN(script,
struct prefix p;
(void)str2prefix("1.2.3.4/24", &p);
- struct frrscript *fs = frrscript_load(argv[1]->arg, NULL);
+ struct frrscript *fs = frrscript_new(argv[1]->arg);
if (fs == NULL) {
vty_out(vty, "Script '/etc/frr/scripts/%s.lua' not found\n",
argv[1]->arg);
- } else {
- int ret = frrscript_call(fs, ("p", &p));
- char buf[40];
- prefix2str(&p, buf, sizeof(buf));
- vty_out(vty, "p: %s\n", buf);
- vty_out(vty, "Script result: %d\n", ret);
}
+ if (frrscript_load(fs, argv[2]->arg, NULL))
+ vty_out(vty, "Script function '/%s' not found\n", argv[2]->arg);
+
+ int ret = frrscript_call(fs, argv[2]->arg, ("p", &p));
+ char buf[40];
+ prefix2str(&p, buf, sizeof(buf));
+ vty_out(vty, "p: %s\n", buf);
+ vty_out(vty, "Script result: %d\n", ret);
return CMD_SUCCESS;
}