--- a/libpurple/plugins/tcl/tcl_cmds.c Wed Sep 19 02:33:08 2007 +0000
+++ b/libpurple/plugins/tcl/tcl_cmds.c Wed Sep 19 02:38:09 2007 +0000
@@ -55,7 +55,7 @@
- Tcl_SetStringObj(Tcl_GetObjResult(interp), "invalid account", -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("invalid account", -1)); @@ -74,7 +74,7 @@
- Tcl_SetStringObj(Tcl_GetObjResult(interp), "invalid conversation", -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("invalid conversation", -1)); @@ -97,7 +97,7 @@
int tcl_cmd_account(ClientData unused, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
- Tcl_Obj *result = Tcl_GetObjResult(interp), *list, *elem;
+ Tcl_Obj *result, *list, *elem; const char *cmds[] = { "alias", "connect", "connection", "disconnect",
"enabled", "find", "handle", "isconnected",
"list", "presence", "protocol", "status",
@@ -139,7 +139,7 @@
if ((account = tcl_validate_account(objv[2], interp)) == NULL)
alias = purple_account_get_alias(account);
- Tcl_SetStringObj(result, alias ? (char *)alias : "", -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj(alias ? (char *)alias : "", -1)); case CMD_ACCOUNT_CONNECT:
@@ -164,7 +164,7 @@
purple_tcl_ref_new(PurpleTclRefConnection,
- purple_account_get_connection(account)));
+ purple_account_get_connection(account))); case CMD_ACCOUNT_DISCONNECT:
@@ -183,9 +183,10 @@
if ((account = tcl_validate_account(objv[2], interp)) == NULL)
- Tcl_SetBooleanObj(result,
- purple_account_get_enabled(account,
- purple_core_get_ui()));
+ Tcl_SetObjResult(interp, + purple_account_get_enabled(account, + purple_core_get_ui()))); if ((error = Tcl_GetBooleanFromObj(interp, objv[3], &b)) != TCL_OK)
@@ -218,7 +219,9 @@
if ((account = tcl_validate_account(objv[2], interp)) == NULL)
- Tcl_SetBooleanObj(result, purple_account_is_connected(account));
+ Tcl_SetObjResult(interp, + purple_account_is_connected(account))); listopt = CMD_ACCOUNTLIST_ALL;
@@ -257,7 +260,7 @@
if ((account = tcl_validate_account(objv[2], interp)) == NULL)
- Tcl_SetStringObj(result, (char *)purple_account_get_protocol_id(account), -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj((char *)purple_account_get_protocol_id(account), -1)); @@ -273,19 +276,19 @@
- Tcl_SetStringObj(result, "name without value setting status", -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("name without value setting status", -1)); status = purple_account_get_status(account, Tcl_GetString(objv[3]));
- Tcl_SetStringObj(result, "invalid status for account", -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("invalid status for account", -1)); for (i = 4; i < objc; i += 2) {
attr_id = Tcl_GetString(objv[i]);
value = purple_status_get_attr_value(status, attr_id);
- Tcl_SetStringObj(result, "invalid attribute for account", -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("invalid attribute for account", -1)); switch (purple_value_get_type(value)) {
@@ -308,7 +311,7 @@
l = g_list_append(l, Tcl_GetString(objv[i + 1]));
- Tcl_SetStringObj(result, "unknown PurpleValue type", -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("unknown PurpleValue type", -1)); @@ -329,10 +332,10 @@
PurpleStatusPrimitive primitive;
if (strcmp(Tcl_GetString(objv[3]), "-primitive")) {
- Tcl_SetStringObj(result, "bad option \"", -1);
+ result = Tcl_NewStringObj("bad option \"", -1); Tcl_AppendObjToObj(result, objv[3]);
- Tcl_AppendToObj(result,
- "\": should be -primitive", -1);
+ Tcl_AppendToObj(result, "\": should be -primitive", -1); + Tcl_SetObjResult(interp,result); primitive = purple_primitive_get_type_from_id(Tcl_GetString(objv[4]));
@@ -340,7 +343,7 @@
if (status_type == NULL) {
- Tcl_SetStringObj(result, "status type not found", -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("status type not found", -1)); @@ -370,7 +373,8 @@
if ((account = tcl_validate_account(objv[2], interp)) == NULL)
- Tcl_SetStringObj(result, (char *)purple_account_get_username(account), -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj((char *)purple_account_get_username(account), -1)); @@ -385,7 +389,8 @@
- Tcl_SetStringObj(Tcl_GetObjResult(interp), "list too short", -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj("list too short", -1)); @@ -422,8 +427,6 @@
if ((error = Tcl_GetIndexFromObj(interp, objv[1], cmds, "subcommand", 0, (int *)&cmd)) != TCL_OK)
- result = Tcl_GetObjResult(interp);
@@ -435,9 +438,11 @@
if ((node = tcl_list_to_buddy(interp, count, elems)) == NULL)
if (node->type == PURPLE_BLIST_CHAT_NODE)
- Tcl_SetStringObj(result, ((PurpleChat *)node)->alias, -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj(((PurpleChat *)node)->alias, -1)); else if (node->type == PURPLE_BLIST_BUDDY_NODE)
- Tcl_SetStringObj(result, (char *)purple_buddy_get_alias((PurpleBuddy *)node), -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj((char *)purple_buddy_get_alias((PurpleBuddy *)node), -1)); @@ -458,11 +463,13 @@
if ((error = Tcl_ListObjGetElements(interp, objv[2], &count, &elems)) != TCL_OK)
- Tcl_SetStringObj(result, "buddy too short", -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj("buddy too short", -1)); if (strcmp("buddy", Tcl_GetString(elems[0]))) {
- Tcl_SetStringObj(result, "invalid buddy", -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj("invalid buddy", -1)); if ((account = tcl_validate_account(elems[2], interp)) == NULL)
@@ -479,8 +486,9 @@
if (!strcmp("-all", Tcl_GetString(objv[2]))) {
- Tcl_SetStringObj(result, "", -1);
+ result = Tcl_NewStringObj("",-1); Tcl_AppendStringsToObj(result, "unknown option: ", Tcl_GetString(objv[2]), NULL);
+ Tcl_SetObjResult(interp,result); @@ -551,7 +559,7 @@
const char *cmds[] = { "do", "help", "list", "register", "unregister", NULL };
enum { CMD_CMD_DO, CMD_CMD_HELP, CMD_CMD_LIST, CMD_CMD_REGISTER, CMD_CMD_UNREGISTER } cmd;
struct tcl_cmd_handler *handler;
- Tcl_Obj *list, *elem, *result = Tcl_GetObjResult(interp);
PurpleConversation *convo;
@@ -579,7 +587,8 @@
status = purple_cmd_do_command(convo, Tcl_GetString(objv[3]),
- Tcl_SetStringObj(result, errstr ? (char *)errstr : "", -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj(errstr ? (char *)errstr : "", -1)); if (status != PURPLE_CMD_STATUS_OK) {
@@ -644,10 +653,10 @@
handler->interp = interp;
if ((id = tcl_cmd_register(handler)) == 0) {
tcl_cmd_handler_free(handler);
- Tcl_SetIntObj(result, 0);
+ Tcl_SetObjResult(interp, Tcl_NewIntObj(0)); - Tcl_SetIntObj(result, id);
+ Tcl_SetObjResult(interp, Tcl_NewIntObj(id)); @@ -667,7 +676,7 @@
int tcl_cmd_connection(ClientData unused, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
- Tcl_Obj *result = Tcl_GetObjResult(interp), *list, *elem;
const char *cmds[] = { "account", "displayname", "handle", "list", NULL };
enum { CMD_CONN_ACCOUNT, CMD_CONN_DISPLAYNAME, CMD_CONN_HANDLE, CMD_CONN_LIST } cmd;
@@ -701,7 +710,8 @@
if ((gc = tcl_validate_gc(objv[2], interp)) == NULL)
- Tcl_SetStringObj(result, (char *)purple_connection_get_display_name(gc), -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj(purple_connection_get_display_name(gc), -1)); @@ -730,7 +740,7 @@
int tcl_cmd_conversation(ClientData unused, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
- Tcl_Obj *list, *elem, *result = Tcl_GetObjResult(interp);
const char *cmds[] = { "find", "handle", "list", "new", "write", "name", "title", "send", NULL };
enum { CMD_CONV_FIND, CMD_CONV_HANDLE, CMD_CONV_LIST, CMD_CONV_NEW, CMD_CONV_WRITE , CMD_CONV_NAME, CMD_CONV_TITLE, CMD_CONV_SEND } cmd;
const char *styles[] = { "send", "recv", "system", NULL };
@@ -854,7 +864,8 @@
if ((convo = tcl_validate_conversation(objv[2], interp)) == NULL)
- Tcl_SetStringObj(result, (char *)purple_conversation_get_name(convo), -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj((char *)purple_conversation_get_name(convo), -1)); @@ -864,7 +875,8 @@
if ((convo = tcl_validate_conversation(objv[2], interp)) == NULL)
- Tcl_SetStringObj(result, (char *)purple_conversation_get_title(convo), -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj((char *)purple_conversation_get_title(convo), -1)); @@ -1007,7 +1019,7 @@
int tcl_cmd_prefs(ClientData unused, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
- Tcl_Obj *result, *list, *elem, **elems;
+ Tcl_Obj *list, *elem, **elems; const char *cmds[] = { "get", "set", "type", NULL };
enum { CMD_PREFS_GET, CMD_PREFS_SET, CMD_PREFS_TYPE } cmd;
/* char *types[] = { "none", "boolean", "int", "string", "stringlist", NULL }; */
@@ -1024,7 +1036,6 @@
if ((error = Tcl_GetIndexFromObj(interp, objv[1], cmds, "subcommand", 0, (int *)&cmd)) != TCL_OK)
- result = Tcl_GetObjResult(interp);
@@ -1034,17 +1045,21 @@
preftype = purple_prefs_get_type(Tcl_GetString(objv[2]));
- Tcl_SetStringObj(result, "pref type none", -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj("pref type none", -1)); case PURPLE_PREF_BOOLEAN:
- Tcl_SetBooleanObj(result, purple_prefs_get_bool(Tcl_GetString(objv[2])));
+ Tcl_SetObjResult(interp, + purple_prefs_get_bool(Tcl_GetString(objv[2])))); - Tcl_SetIntObj(result, purple_prefs_get_int(Tcl_GetString(objv[2])));
+ Tcl_SetObjResult(interp, Tcl_NewIntObj(purple_prefs_get_int(Tcl_GetString(objv[2])))); - Tcl_SetStringObj(result, (char *)purple_prefs_get_string(Tcl_GetString(objv[2])), -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj((char *)purple_prefs_get_string(Tcl_GetString(objv[2])), -1)); case PURPLE_PREF_STRING_LIST:
cur = purple_prefs_get_string_list(Tcl_GetString(objv[2]));
@@ -1058,7 +1073,8 @@
purple_debug(PURPLE_DEBUG_ERROR, "tcl", "tcl does not know about pref type %d\n", preftype);
- Tcl_SetStringObj(result, "unknown pref type", -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj("unknown pref type", -1)); @@ -1070,7 +1086,8 @@
preftype = purple_prefs_get_type(Tcl_GetString(objv[2]));
- Tcl_SetStringObj(result, "bad path or pref type none", -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj("bad path or pref type none", -1)); case PURPLE_PREF_BOOLEAN:
@@ -1109,23 +1126,23 @@
preftype = purple_prefs_get_type(Tcl_GetString(objv[2]));
- Tcl_SetStringObj(result, "none", -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("none", -1)); case PURPLE_PREF_BOOLEAN:
- Tcl_SetStringObj(result, "boolean", -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("boolean", -1)); - Tcl_SetStringObj(result, "int", -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("int", -1)); - Tcl_SetStringObj(result, "string", -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("string", -1)); case PURPLE_PREF_STRING_LIST:
- Tcl_SetStringObj(result, "stringlist", -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("stringlist", -1)); purple_debug(PURPLE_DEBUG_ERROR, "tcl", "tcl does not know about pref type %d\n", preftype);
- Tcl_SetStringObj(result, "unknown", -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("unknown", -1)); @@ -1143,7 +1160,7 @@
CMD_PRESENCE_CONTEXT, CMD_PRESENCE_CONVERSATION,
CMD_PRESENCE_IDLE, CMD_PRESENCE_LOGIN, CMD_PRESENCE_ONLINE,
CMD_PRESENCE_STATUS, CMD_PRESENCE_STATUSES } cmd;
- Tcl_Obj *result = Tcl_GetObjResult(interp);
PurplePresence *presence;
@@ -1180,25 +1197,30 @@
purple_tcl_ref_new(PurpleTclRefStatus,
purple_presence_get_active_status(presence)));
- Tcl_SetBooleanObj(result,
- purple_presence_is_status_active(presence,
- Tcl_GetString(objv[3])));
+ Tcl_SetObjResult(interp, + purple_presence_is_status_active(presence, + Tcl_GetString(objv[3])))); PurpleStatusPrimitive primitive;
if (strcmp(Tcl_GetString(objv[3]), "-primitive")) {
- Tcl_SetStringObj(result, "bad option \"", -1);
+ result = Tcl_NewStringObj("bad option \"", -1); Tcl_AppendObjToObj(result, objv[3]);
"\": should be -primitive", -1);
+ Tcl_SetObjResult(interp,result); primitive = purple_primitive_get_type_from_id(Tcl_GetString(objv[4]));
if (primitive == PURPLE_STATUS_UNSET) {
- Tcl_SetStringObj(result, "invalid primitive ", -1);
+ result = Tcl_NewStringObj("invalid primitive ", -1); Tcl_AppendObjToObj(result, objv[4]);
+ Tcl_SetObjResult(interp,result); - Tcl_SetBooleanObj(result, purple_presence_is_status_primitive_active(presence, primitive));
+ Tcl_SetObjResult(interp, + purple_presence_is_status_primitive_active(presence, primitive))); @@ -1209,7 +1231,8 @@
if ((presence = purple_tcl_ref_get(interp, objv[2], PurpleTclRefPresence)) == NULL)
- Tcl_SetBooleanObj(result, purple_presence_is_available(presence));
+ Tcl_SetObjResult(interp, + Tcl_NewBooleanObj(purple_presence_is_available(presence))); case CMD_PRESENCE_CHAT_USER:
@@ -1218,7 +1241,8 @@
if ((presence = purple_tcl_ref_get(interp, objv[2], PurpleTclRefPresence)) == NULL)
- Tcl_SetStringObj(result, purple_presence_get_chat_user(presence), -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj(purple_presence_get_chat_user(presence), -1)); case CMD_PRESENCE_CONTEXT:
@@ -1229,16 +1253,16 @@
switch (purple_presence_get_context(presence)) {
case PURPLE_PRESENCE_CONTEXT_UNSET:
- Tcl_SetStringObj(result, "unset", -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("unset", -1)); case PURPLE_PRESENCE_CONTEXT_ACCOUNT:
- Tcl_SetStringObj(result, "account", -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("account", -1)); case PURPLE_PRESENCE_CONTEXT_CONV:
- Tcl_SetStringObj(result, "conversation", -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("conversation", -1)); case PURPLE_PRESENCE_CONTEXT_BUDDY:
- Tcl_SetStringObj(result, "buddy", -1);
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("buddy", -1)); @@ -1262,7 +1286,7 @@
if (purple_presence_is_idle(presence)) {
idle_time = purple_presence_get_idle_time (presence);
- Tcl_SetIntObj(result, idle_time);
+ Tcl_SetObjResult(interp, Tcl_NewIntObj(idle_time)); result = Tcl_NewListObj(0, NULL);
Tcl_SetObjResult(interp, result);
@@ -1289,7 +1313,7 @@
if ((presence = purple_tcl_ref_get(interp, objv[2], PurpleTclRefPresence)) == NULL)
- Tcl_SetIntObj(result, purple_presence_get_login_time(presence));
+ Tcl_SetObjResult(interp, Tcl_NewIntObj(purple_presence_get_login_time(presence))); if ((error == Tcl_GetIntFromObj(interp,
@@ -1305,7 +1329,9 @@
if ((presence = purple_tcl_ref_get(interp, objv[2], PurpleTclRefPresence)) == NULL)
- Tcl_SetBooleanObj(result, purple_presence_is_online(presence));
+ Tcl_SetObjResult(interp, + purple_presence_is_online(presence))); case CMD_PRESENCE_STATUS:
@@ -1341,7 +1367,7 @@
int tcl_cmd_savedstatus(ClientData unused, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
- Tcl_Obj *result = Tcl_GetObjResult(interp);
const char *cmds[] = { "current", "handle", NULL };
enum { CMD_SAVEDSTATUS_CURRENT, CMD_SAVEDSTATUS_HANDLE } cmd;
@@ -1363,9 +1389,11 @@
if ((saved_status = purple_savedstatus_get_current()) == NULL)
+ result = Tcl_NewListObj(0, NULL); Tcl_ListObjAppendElement(interp, result, Tcl_NewStringObj(purple_savedstatus_get_title(saved_status), -1));
Tcl_ListObjAppendElement(interp, result, Tcl_NewIntObj(purple_savedstatus_get_type(saved_status)));
Tcl_ListObjAppendElement(interp, result, Tcl_NewStringObj(purple_savedstatus_get_message(saved_status), -1));
+ Tcl_SetObjResult(interp,result); case CMD_SAVEDSTATUS_HANDLE:
@@ -1407,7 +1435,6 @@
const char *cmds[] = { "connect", "disconnect", NULL };
enum { CMD_SIGNAL_CONNECT, CMD_SIGNAL_DISCONNECT } cmd;
struct tcl_signal_handler *handler;
- Tcl_Obj *result = Tcl_GetObjResult(interp);
@@ -1437,9 +1464,9 @@
handler->interp = interp;
if (!tcl_signal_connect(handler)) {
tcl_signal_handler_free(handler);
- Tcl_SetIntObj(result, 1);
+ Tcl_SetObjResult(interp, Tcl_NewIntObj(1)); - Tcl_SetIntObj(result, 0);
+ Tcl_SetObjResult(interp, Tcl_NewIntObj(0)); case CMD_SIGNAL_DISCONNECT:
@@ -1460,7 +1487,6 @@
const char *cmds[] = { "attr", "type", NULL };
enum { CMD_STATUS_ATTR, CMD_STATUS_TYPE } cmd;
- Tcl_Obj *result = Tcl_GetObjResult(interp);
PurpleStatusType *status_type;
@@ -1486,13 +1512,15 @@
attr = Tcl_GetString(objv[3]);
value = purple_status_get_attr_value(status, attr);
- Tcl_SetStringObj(result, "no such attribute", -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj("no such attribute", -1)); switch (purple_value_get_type(value)) {
case PURPLE_TYPE_BOOLEAN:
- Tcl_SetBooleanObj(result, purple_value_get_boolean(value));
+ Tcl_SetObjResult(interp, + Tcl_NewBooleanObj(purple_value_get_boolean(value))); if ((error = Tcl_GetBooleanFromObj(interp, objv[4], &v)) != TCL_OK)
@@ -1501,7 +1529,7 @@
- Tcl_SetIntObj(result, purple_value_get_int(value));
+ Tcl_SetObjResult(interp, Tcl_NewIntObj(purple_value_get_int(value))); if ((error = Tcl_GetIntFromObj(interp, objv[4], &v)) != TCL_OK)
@@ -1510,12 +1538,14 @@
- Tcl_SetStringObj(result, purple_value_get_string(value), -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj(purple_value_get_string(value), -1)); purple_status_set_attr_string(status, attr, Tcl_GetString(objv[4]));
- Tcl_SetStringObj(result, "attribute has unknown type", -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj("attribute has unknown type", -1)); @@ -1539,7 +1569,6 @@
const char *cmds[] = { "id", "name", NULL };
enum { CMD_STATUS_ATTR_ID, CMD_STATUS_ATTR_NAME } cmd;
- Tcl_Obj *result = Tcl_GetObjResult(interp);
@@ -1559,7 +1588,8 @@
if ((attr = purple_tcl_ref_get(interp, objv[2], PurpleTclRefStatusAttr)) == NULL)
- Tcl_SetStringObj(result, purple_status_attr_get_id(attr), -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj(purple_status_attr_get_id(attr), -1)); case CMD_STATUS_ATTR_NAME:
@@ -1568,7 +1598,8 @@
if ((attr = purple_tcl_ref_get(interp, objv[2], PurpleTclRefStatusAttr)) == NULL)
- Tcl_SetStringObj(result, purple_status_attr_get_name(attr), -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj(purple_status_attr_get_name(attr), -1)); @@ -1587,7 +1618,6 @@
CMD_STATUS_TYPE_NAME, CMD_STATUS_TYPE_PRIMARY_ATTR,
CMD_STATUS_TYPE_PRIMITIVE, CMD_STATUS_TYPE_SAVEABLE,
CMD_STATUS_TYPE_USER_SETTABLE } cmd;
- Tcl_Obj *result = Tcl_GetObjResult(interp);
PurpleStatusType *status_type;
@@ -1609,7 +1639,8 @@
if ((status_type = purple_tcl_ref_get(interp, objv[2], PurpleTclRefStatusType)) == NULL)
- Tcl_SetBooleanObj(result, purple_status_type_is_available(status_type));
+ Tcl_SetObjResult(interp, + Tcl_NewBooleanObj(purple_status_type_is_available(status_type))); case CMD_STATUS_TYPE_ATTR:
@@ -1645,7 +1676,8 @@
if ((status_type = purple_tcl_ref_get(interp, objv[2], PurpleTclRefStatusType)) == NULL)
- Tcl_SetBooleanObj(result, purple_status_type_is_exclusive(status_type));
+ Tcl_SetObjResult(interp, + Tcl_NewBooleanObj(purple_status_type_is_exclusive(status_type))); @@ -1654,7 +1686,8 @@
if ((status_type = purple_tcl_ref_get(interp, objv[2], PurpleTclRefStatusType)) == NULL)
- Tcl_SetStringObj(result, purple_status_type_get_id(status_type), -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj(purple_status_type_get_id(status_type), -1)); case CMD_STATUS_TYPE_INDEPENDENT:
@@ -1663,7 +1696,8 @@
if ((status_type = purple_tcl_ref_get(interp, objv[2], PurpleTclRefStatusType)) == NULL)
- Tcl_SetBooleanObj(result, purple_status_type_is_independent(status_type));
+ Tcl_SetObjResult(interp, + Tcl_NewBooleanObj(purple_status_type_is_independent(status_type))); case CMD_STATUS_TYPE_NAME:
@@ -1672,7 +1706,8 @@
if ((status_type = purple_tcl_ref_get(interp, objv[2], PurpleTclRefStatusType)) == NULL)
- Tcl_SetStringObj(result, purple_status_type_get_name(status_type), -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj(purple_status_type_get_name(status_type), -1)); case CMD_STATUS_TYPE_PRIMITIVE:
@@ -1681,7 +1716,9 @@
if ((status_type = purple_tcl_ref_get(interp, objv[2], PurpleTclRefStatusType)) == NULL)
- Tcl_SetStringObj(result, purple_primitive_get_id_from_type(purple_status_type_get_primitive(status_type)), -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj(purple_primitive_get_id_from_type + (purple_status_type_get_primitive(status_type)), -1)); case CMD_STATUS_TYPE_PRIMARY_ATTR:
@@ -1690,7 +1727,8 @@
if ((status_type = purple_tcl_ref_get(interp, objv[2], PurpleTclRefStatusType)) == NULL)
- Tcl_SetStringObj(result, purple_status_type_get_primary_attr(status_type), -1);
+ Tcl_SetObjResult(interp, + Tcl_NewStringObj(purple_status_type_get_primary_attr(status_type), -1)); case CMD_STATUS_TYPE_SAVEABLE:
@@ -1699,7 +1737,9 @@
if ((status_type = purple_tcl_ref_get(interp, objv[2], PurpleTclRefStatusType)) == NULL)
- Tcl_SetBooleanObj(result, purple_status_type_is_saveable(status_type));
+ Tcl_SetObjResult(interp, + purple_status_type_is_saveable(status_type))); case CMD_STATUS_TYPE_USER_SETTABLE:
@@ -1708,7 +1748,9 @@
if ((status_type = purple_tcl_ref_get(interp, objv[2], PurpleTclRefStatusType)) == NULL)
- Tcl_SetBooleanObj(result, purple_status_type_is_user_settable(status_type));
+ Tcl_SetObjResult(interp, + purple_status_type_is_user_settable(status_type)));