free((void *)override_name);
/* accumulate help text in Tcl helptext list. */
- Jim_Obj *helptext=Jim_GetGlobalVariableStr(interp, "ocd_helptext", JIM_ERRMSG);
- if (Jim_IsShared(helptext))
- helptext = Jim_DuplicateObj(interp, helptext);
+ Jim_Obj *helptext=Jim_GetGlobalVariableStr(interp, "ocd_helptext", JIM_ERRMSG);
+ if (Jim_IsShared(helptext))
+ helptext = Jim_DuplicateObj(interp, helptext);
Jim_Obj *cmd_entry=Jim_NewListObj(interp, NULL, 0);
Jim_Obj *cmd_list=Jim_NewListObj(interp, NULL, 0);
/* find command */
c = context->commands;
-
+
while(NULL != c)
- {
+ {
if (strcmp(name, c->name) == 0)
{
/* unlink command */
/* first element in command list */
context->commands = c->next;
}
-
+
/* unregister children */
while(NULL != c->children)
{
free(c2);
c2 = NULL;
}
-
+
/* delete command */
free(c->name);
c->name = NULL;
c = NULL;
return ERROR_OK;
}
-
+
/* remember the last command for unlinking */
p = c;
c = c->next;
* The latter bit isn't precisely neat, but will do for now.
*/
LOG_USER_N("%s", string);
- // We already printed it above
- //command_output_text(context, string);
+ /* We already printed it above */
+ /* command_output_text(context, string); */
free(string);
}
* The latter bit isn't precisely neat, but will do for now.
*/
LOG_USER_N("%s", string);
- // We already printed it above
- //command_output_text(context, string);
+ /* We already printed it above */
+ /* command_output_text(context, string); */
free(string);
}
int reslen;
result = Jim_GetString(Jim_GetResult(interp), &reslen);
- if (reslen) {
- int i;
- char buff[256+1];
- for (i = 0; i < reslen; i += 256)
- {
- int chunk;
- chunk = reslen - i;
- if (chunk > 256)
- chunk = 256;
- strncpy(buff, result+i, chunk);
- buff[chunk] = 0;
- LOG_USER_N("%s", buff);
- }
- LOG_USER_N("%s", "\n");
+ int i;
+ char buff[256+1];
+ for (i = 0; i < reslen; i += 256)
+ {
+ int chunk;
+ chunk = reslen - i;
+ if (chunk > 256)
+ chunk = 256;
+ strncpy(buff, result+i, chunk);
+ buff[chunk] = 0;
+ LOG_USER_N("%s", buff);
}
+ LOG_USER_N("%s", "\n");
+ retval=ERROR_OK;
}
return retval;
}
return NULL;
}
-
static int jim_capture(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
{
if (argc != 2)
{
command_context_t* context = malloc(sizeof(command_context_t));
extern const char startup_tcl[];
+ const char *HostOs;
context->mode = COMMAND_EXEC;
context->commands = NULL;
Jim_RegisterCoreCommands(interp);
#endif
+#if defined( _MSC_VER )
+ /* WinXX - is generic, the forward
+ * looking problem is this:
+ *
+ * "win32" or "win64"
+ *
+ * "winxx" is generic.
+ */
+ HostOs = "winxx";
+#elif defined( __LINUX__)
+ HostOs = "linux";
+#elif defined( __DARWIN__ )
+ HostOs = "darwin";
+#elif defined( __CYGWIN__ )
+ HostOs = "cygwin";
+#elif defined( __MINGW32__ )
+ HostOs = "mingw32";
+#else
+ HostOs = "other";
+#endif
+ Jim_SetGlobalVariableStr( interp, "ocd_HOSTOS", Jim_NewStringObj( interp, HostOs , strlen(HostOs)) );
+
Jim_CreateCommand(interp, "ocd_find", jim_find, NULL, NULL);
Jim_CreateCommand(interp, "echo", jim_echo, NULL, NULL);
Jim_CreateCommand(interp, "capture", jim_capture, NULL, NULL);
Jim_CreateCommand(interp, name, cmd, NULL, NULL);
/* FIX!!! it would be prettier to invoke add_help_text...
- accumulate help text in Tcl helptext list. */
+ * accumulate help text in Tcl helptext list. */
Jim_Obj *helptext=Jim_GetGlobalVariableStr(interp, "ocd_helptext", JIM_ERRMSG);
if (Jim_IsShared(helptext))
helptext = Jim_DuplicateObj(interp, helptext);
Jim_ListAppendElement(interp, helptext, cmd_entry);
}
-
/* return global variable long value or 0 upon failure */
long jim_global_long(const char *variable)
{