comparison uptools/atcmd/smsend_multmain.c @ 383:f8c693d16978

fcup-smsendmult: UCS-2 send mode implemented
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 09 Mar 2018 02:56:09 +0000
parents 88131632ce48
children dc2fd8e6f42c
comparison
equal deleted inserted replaced
382:88131632ce48 383:f8c693d16978
153 init_send_process(); 153 init_send_process();
154 send_in_pdu_mode(dest_addr, msgtext_gsm7, msgtext_gsmlen, 0, 0); 154 send_in_pdu_mode(dest_addr, msgtext_gsm7, msgtext_gsmlen, 0, 0);
155 return(0); 155 return(0);
156 } 156 }
157 157
158 process_msg_ucs2()
159 {
160 u_short msgtext_uni[70];
161 unsigned msgtext_unilen;
162 int rc;
163
164 rc = utf8_to_ucs2(msgtext, msgtext_uni, 70, &msgtext_unilen);
165 if (rc == -1) {
166 fprintf(stderr, "input line %d: invalid UTF-8 message\n",
167 lineno);
168 exit(ERROR_USAGE);
169 }
170 if (rc == -2) {
171 fprintf(stderr,
172 "input line %d: message exceeds 70 UCS-2 chars\n",
173 lineno);
174 exit(ERROR_USAGE);
175 }
176 init_send_process();
177 send_pdu_ucs2(dest_addr, msgtext_uni, msgtext_unilen, 0, 0);
178 return(0);
179 }
180
158 main(argc, argv) 181 main(argc, argv)
159 char **argv; 182 char **argv;
160 { 183 {
161 process_cmdline(argc, argv); 184 process_cmdline(argc, argv);
162 for (lineno = 1; fgets(input_line, sizeof input_line, stdin); lineno++){ 185 for (lineno = 1; fgets(input_line, sizeof input_line, stdin); lineno++){
163 preen_input_line(); 186 preen_input_line();
164 process_msg_gsm7(); 187 if (ucs2_mode)
188 process_msg_ucs2();
189 else
190 process_msg_gsm7();
165 } 191 }
166 if (!initdone) 192 if (!initdone)
167 exit(0); 193 exit(0);
168 if (sms_write_mode == 0) 194 if (sms_write_mode == 0)
169 atinterf_exec_cmd_needok("AT+CMMS=0", 0, 0); 195 atinterf_exec_cmd_needok("AT+CMMS=0", 0, 0);