VMUINT8 gsm_sms_send(void* userdata) { char* to = (char*)userdata; strcpy(g_sms_send_data.content, to); VMWCHAR number[42]; VMWCHAR content[151]; VMUINT8 res; vm_chset_ascii_to_ucs2(content, 151*2, g_sms_send_data.content); vm_chset_ascii_to_ucs2(number, 42*2, g_sms_send_data.number); res = vm_gsm_sms_send(number, content, sms_send_callback, NULL); if(res == 0) { g_sms_send_data.result = TRUE; vm_log_debug("sms send success!"); return TRUE; } else { g_sms_send_data.result = FALSE; vm_log_debug("sms send fail!"); return FALSE; } }
int gsm_text(lua_State *L) { VMWCHAR number[42]; VMWCHAR content[100]; const char *phone_number = luaL_checkstring(L, 1); const char *message = luaL_checkstring(L, 2); vm_chset_ascii_to_ucs2(content, 100*2, message); vm_chset_ascii_to_ucs2(number, 42*2, phone_number); lua_pushnumber(L, vm_gsm_sms_send(number, content, _gsm_text_callback, NULL)); return 1; }
static v7_val_t gsm_text(struct v7* v7) { VMWCHAR number[42]; VMWCHAR content[100]; v7_val_t numberv = v7_arg(v7, 0); v7_val_t messagev = v7_arg(v7, 1); const char* phone_number; const char* message; size_t len, message_len; if(!v7_is_string(numberv) || !v7_is_string(messagev)) { return v7_create_undefined(); } phone_number = v7_to_string(v7, &numberv, &len); message = v7_to_string(v7, &messagev, &message_len); vm_chset_ascii_to_ucs2(content, 100 * 2, message); vm_chset_ascii_to_ucs2(number, 42 * 2, phone_number); return v7_create_number(vm_gsm_sms_send(number, content, _gsm_text_callback, NULL)); }