+static int Jim_Command_script(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
+{
+ int retval;
+ const char *file;
+ char *full_path;
+
+ if (argc != 2)
+ {
+ Jim_WrongNumArgs(interp, 1, argv, "file name missing");
+ return JIM_ERR;
+ }
+
+ /* Run a tcl script file */
+ file = Jim_GetString(argv[1], NULL);
+ full_path = find_file(file);
+ if (full_path == NULL)
+ {
+ Jim_SetResult(interp, Jim_NewEmptyStringObj(interp));
+ Jim_AppendStrings(interp, Jim_GetResult(interp), "script: could not open file", file, NULL);
+ return JIM_ERR;
+ }
+ retval = Jim_EvalFile(interp, full_path);
+ free(full_path);
+ /* convert a return to ok */
+ if (retval == JIM_RETURN)
+ return JIM_OK;
+ return retval;
+}
+
+