COMMAND_REGISTRATION_DONE
};
-struct command_context* command_init(const char *startup_tcl)
+struct command_context* command_init(const char *startup_tcl, Jim_Interp *interp)
{
struct command_context* context = malloc(sizeof(struct command_context));
const char *HostOs;
context->output_handler_priv = NULL;
#if !BUILD_ECOSBOARD
- Jim_InitEmbedded();
- /* Create an interpreter */
- context->interp = Jim_CreateInterp();
- /* Add all the Jim core commands */
- Jim_RegisterCoreCommands(context->interp);
+ /* Create a jim interpreter if we were not handed one */
+ if (interp == NULL)
+ {
+ Jim_InitEmbedded();
+ /* Create an interpreter */
+ interp = Jim_CreateInterp();
+ /* Add all the Jim core commands */
+ Jim_RegisterCoreCommands(interp);
+ }
#endif
+ context->interp = interp;
- Jim_Interp *interp = context->interp;
#if defined(_MSC_VER)
/* WinXX - is generic, the forward
* looking problem is this: