comparison uptools/atcmd/smsend_main.c @ 967:6bf473f77fc4

fcup-smsend: support backslash escapes in UCS-2 mode too
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 01 Sep 2023 16:43:35 +0000
parents ec7e23d5151f
children
comparison
equal deleted inserted replaced
966:ec7e23d5151f 967:6bf473f77fc4
77 exit(ERROR_USAGE); 77 exit(ERROR_USAGE);
78 } 78 }
79 if (allow_escape && text_mode) { 79 if (allow_escape && text_mode) {
80 fprintf(stderr, 80 fprintf(stderr,
81 "%s error: escapes not supported in text mode\n", 81 "%s error: escapes not supported in text mode\n",
82 argv[0]);
83 exit(ERROR_USAGE);
84 }
85 if (ucs2_mode && allow_escape) {
86 fprintf(stderr, "%s error: UCS-2 escapes not supported yet\n",
87 argv[0]); 82 argv[0]);
88 exit(ERROR_USAGE); 83 exit(ERROR_USAGE);
89 } 84 }
90 if (argc > optind + 2) { 85 if (argc > optind + 2) {
91 fprintf(stderr, "usage: %s [options] dest-addr [message]\n", 86 fprintf(stderr, "usage: %s [options] dest-addr [message]\n",
255 int rc; 250 int rc;
256 unsigned nparts, n; 251 unsigned nparts, n;
257 u_char udh[5]; 252 u_char udh[5];
258 unsigned pos, remain, chunk; 253 unsigned pos, remain, chunk;
259 254
260 rc = utf8_to_ucs2(msgtext, msgtext_uni, MAX_MSG_UNI, &msgtext_unilen); 255 rc = utf8_to_ucs2(msgtext, msgtext_uni, MAX_MSG_UNI, &msgtext_unilen,
256 allow_escape);
261 if (rc == -1) { 257 if (rc == -1) {
262 fprintf(stderr, "error: invalid UTF-8 message\n"); 258 fprintf(stderr, "error: invalid UTF-8 message\n");
263 exit(ERROR_USAGE); 259 exit(ERROR_USAGE);
264 } 260 }
265 if (rc == -2) { 261 if (rc == -2) {
266 fprintf(stderr, "error: message too long for max concat SMS\n"); 262 fprintf(stderr, "error: message too long for max concat SMS\n");
263 exit(ERROR_USAGE);
264 }
265 if (rc == -3) {
266 fprintf(stderr,
267 "error: message contains invalid backslash escape\n");
267 exit(ERROR_USAGE); 268 exit(ERROR_USAGE);
268 } 269 }
269 if (msgtext_unilen <= 70) { 270 if (msgtext_unilen <= 70) {
270 common_init(); 271 common_init();
271 prep_for_pdu_mode(); 272 prep_for_pdu_mode();