void MCArraysEvalMatrixMultiply(MCExecContext& ctxt, MCArrayRef p_left, MCArrayRef p_right, MCArrayRef& r_result) { // MW-2014-03-14: [[ Bug 11924 ]] If both are empty arrays, then the result // is empty. if (MCArrayIsEmpty(p_left) && MCArrayIsEmpty(p_right)) { r_result = MCValueRetain(kMCEmptyArray); return; } // MW-2014-03-14: [[ Bug 11924 ]] If either array is empty, then its a mismatch. MCAutoPointer<matrix_t> t_left, t_right, t_product; if (MCArrayIsEmpty(p_left) || MCArrayIsEmpty(p_right) || !MCArraysCopyMatrix(ctxt, p_left, &t_left) || !MCArraysCopyMatrix(ctxt, p_right, &t_right) || !MCMatrixMultiply(*t_left, *t_right, &t_product)) { ctxt.LegacyThrow(EE_MATRIXMULT_MISMATCH); return; } if (MCArraysCreateWithMatrix(*t_product, r_result)) return; ctxt.Throw(); }
void MCSecurityEvalEncrypt(MCExecContext& ctxt, MCStringRef p_source, MCStringRef& r_dest) { if (MCStackSecurityEncryptString(p_source, r_dest)) return; ctxt.Throw(); }
void MCArraysEvalExtents(MCExecContext& ctxt, MCArrayRef p_array, MCStringRef& r_string) { MCAutoListRef t_list; if (MCArraysCopyExtents(p_array, &t_list) && MCListCopyAsString(*t_list, r_string)) return; ctxt.Throw(); }
void MCButton::GetEffectiveUnicodeLabel(MCExecContext& ctxt, MCDataRef& r_label) { MCStringRef t_label = nil; GetEffectiveLabel(ctxt, t_label); if (MCStringEncodeAndRelease(t_label, kMCStringEncodingUTF16, false, r_label)) return; MCValueRelease(t_label); ctxt.Throw(); }
void MCButton::GetUnicodeAcceleratorText(MCExecContext& ctxt, MCDataRef& r_text) { MCDataRef t_text = nil; if (MCStringEncode(acceltext, kMCStringEncodingUTF16, false, t_text)) { r_text = t_text; return; } ctxt.Throw(); }
void MCButton::SetUnicodeLabel(MCExecContext& ctxt, MCDataRef p_label) { MCAutoStringRef t_new_label; if (MCStringDecode(p_label, kMCStringEncodingUTF16, false, &t_new_label)) { SetLabel(ctxt, *t_new_label); return; } ctxt.Throw(); }
void MCControl::SetUnicodeToolTip(MCExecContext& ctxt, MCDataRef p_tooltip) { // Convert the supplied UTF-16 data into a string MCStringRef t_tooltip = nil; if (MCStringDecode(p_tooltip, kMCStringEncodingUTF16, false, t_tooltip)) { MCValueAssign(tooltip, t_tooltip); return; } ctxt.Throw(); }
void MCControl::GetUnicodeToolTip(MCExecContext& ctxt, MCDataRef& r_tooltip) { // Convert the tooltip string into UTF-16 data MCDataRef t_tooltip = nil; if (MCStringEncode(tooltip, kMCStringEncodingUTF16, false, t_tooltip)) { r_tooltip = t_tooltip; return; } ctxt.Throw(); }
void MCPurchaseGetSignature(MCExecContext& ctxt,MCPurchase *p_purchase, MCStringRef& r_signature) { MCAndroidPurchase *t_android_data = (MCAndroidPurchase*)p_purchase->platform_data; if (t_android_data->signature != nil) { r_signature = MCValueRetain(t_android_data->signature); return; } ctxt.Throw(); }
void MCPurchaseGetTransactionIdentifier(MCExecContext& ctxt,MCPurchase *p_purchase, MCStringRef& r_identifier) { MCAndroidPurchase *t_android_data = (MCAndroidPurchase*)p_purchase->platform_data; if (t_android_data->order_id != nil) { r_identifier = MCValueRetain(t_android_data->order_id); return; } ctxt.Throw(); }
void MCPurchaseGetPurchaseDate(MCExecContext& ctxt,MCPurchase *p_purchase, integer_t& r_date) { MCAndroidPurchase *t_android_data = (MCAndroidPurchase*)p_purchase->platform_data; if (t_android_data->purchase_time != nil) { r_date = (integer_t)(t_android_data->purchase_time); return; } ctxt.Throw(); }
void MCPurchaseGetDeveloperPayload(MCExecContext& ctxt,MCPurchase *p_purchase, MCStringRef& r_payload) { MCAndroidPurchase *t_android_data = (MCAndroidPurchase*)p_purchase->platform_data; if (t_android_data->developer_payload != nil) { r_payload = MCValueRetain(t_android_data->developer_payload); return; } ctxt.Throw(); }
void MCSecurityEvalCipherNames(MCExecContext& ctxt, MCStringRef& r_names) { MCAutoListRef t_list; MCAutoStringRef t_error; #ifdef MCSSL if (SSL_ciphernames(&t_list, &t_error)) { if (*t_error != nil) ctxt.SetTheResultToValue(*t_error); if (MCListCopyAsString(*t_list, r_names)) return; } #endif /* MCSSL */ ctxt.Throw(); }