| 53 { |
53 { |
| 54 if (obj->typePtr != &purple_tcl_ref) { |
54 if (obj->typePtr != &purple_tcl_ref) { |
| 55 if (Tcl_ConvertToType(interp, obj, &purple_tcl_ref) != TCL_OK) |
55 if (Tcl_ConvertToType(interp, obj, &purple_tcl_ref) != TCL_OK) |
| 56 return NULL; |
56 return NULL; |
| 57 } |
57 } |
| 58 if (strcmp(purple_stringref_value(OBJ_REF_TYPE(obj)), |
58 if (!purple_strequal(purple_stringref_value(OBJ_REF_TYPE(obj)), |
| 59 purple_stringref_value(type))) { |
59 purple_stringref_value(type))) { |
| 60 if (interp) { |
60 if (interp) { |
| 61 Tcl_Obj *error = Tcl_NewStringObj("Bad Purple reference type: expected ", -1); |
61 Tcl_Obj *error = Tcl_NewStringObj("Bad Purple reference type: expected ", -1); |
| 62 Tcl_AppendToObj(error, purple_stringref_value(type), -1); |
62 Tcl_AppendToObj(error, purple_stringref_value(type), -1); |
| 63 Tcl_AppendToObj(error, " but got ", -1); |
63 Tcl_AppendToObj(error, " but got ", -1); |