summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/helper/command.c15
-rw-r--r--src/helper/command.h1
2 files changed, 16 insertions, 0 deletions
diff --git a/src/helper/command.c b/src/helper/command.c
index 54315dd9..8a736686 100644
--- a/src/helper/command.c
+++ b/src/helper/command.c
@@ -537,6 +537,21 @@ int command_run_file(command_context_t *context, FILE *file, enum command_mode m
return retval;
}
+int command_run_linef(command_context_t *context, char *format, ...)
+{
+ int retval=ERROR_FAIL;
+ char *string;
+ va_list ap;
+ va_start(ap, format);
+ string = alloc_vprintf(format, ap);
+ if (string!=NULL)
+ {
+ retval=command_run_line(context, string);
+ }
+ va_end(ap);
+ return retval;
+}
+
void command_print_help_line(command_context_t* context, struct command_s *command, int indent)
{
command_t *c;
diff --git a/src/helper/command.h b/src/helper/command.h
index c468247c..8d50d6e6 100644
--- a/src/helper/command.h
+++ b/src/helper/command.h
@@ -74,6 +74,7 @@ extern int command_done(command_context_t *context);
extern void command_print(command_context_t *context, char *format, ...);
extern void command_print_sameline(command_context_t *context, char *format, ...);
extern int command_run_line(command_context_t *context, char *line);
+extern int command_run_linef(command_context_t *context, char *format, ...);
extern int command_run_line_internal(command_context_t *context, char *line);
extern int command_run_file(command_context_t *context, FILE *file, enum command_mode mode);