# HG changeset patch # User Mychaela Falconia # Date 1547018482 0 # Node ID 41742552e98b924ab066b10ef43bfe5d23b25533 # Parent f6f599aad4535979844b9ce3cea147282937905b aci2: same AT-over-RVT enhancement as in aci3 diff -r f6f599aad453 -r 41742552e98b src/aci2/aci/ati_src_rvt.c --- a/src/aci2/aci/ati_src_rvt.c Wed Jan 09 07:09:47 2019 +0000 +++ b/src/aci2/aci/ati_src_rvt.c Wed Jan 09 07:21:22 2019 +0000 @@ -3,13 +3,6 @@ * a mechanism for passing AT commands and responses over RVTMUX. */ -#if 0 -#include "config.h" -#include "fixedconf.h" -#include "condat-features.h" -#include "aci_conf.h" -#endif - /* includes copied from ati_cmd.c */ #undef DUMMY_ATI_STRINGS @@ -100,29 +93,41 @@ { T_ATI_SRC_PARAMS *src_params = find_element (ati_src_list, rvt_src_id, search_ati_src_id); + USHORT offset; ati_user_output_cfg[rvt_src_id].atE = 0; - if (src_params->text_mode EQ CMD_MODE) + if (aci_cmd_req->cmd_len && aci_cmd_req->cmd_seq[0] == 0x01) { - TRACE_FUNCTION ("ati_src_rvt_proc_cmd () CMD MODE"); + TRACE_FUNCTION ("ati_src_rvt_proc_cmd () unterminated"); - aci_cmd_req->cmd_seq[aci_cmd_req->cmd_len] = '\r'; /* make it V.25 ter compatible */ - aci_cmd_req->cmd_seq[(aci_cmd_req->cmd_len) + 1] = '\0'; - aci_cmd_req->cmd_len++; + aci_cmd_req->cmd_seq[aci_cmd_req->cmd_len] = '\0'; + offset = 1; } - else /* text has to be terminated by Ctrl-Z */ + else { - TRACE_FUNCTION ("ati_src_rvt_proc_cmd () TEXT MODE"); + offset = 0; + if (src_params->text_mode EQ CMD_MODE) + { + TRACE_FUNCTION ("ati_src_rvt_proc_cmd () CMD MODE"); - aci_cmd_req->cmd_seq[aci_cmd_req->cmd_len] = 0x1a; /* make it V.25 ter compatible */ - aci_cmd_req->cmd_seq[(aci_cmd_req->cmd_len) + 1] = '\0'; - aci_cmd_req->cmd_len++; + aci_cmd_req->cmd_seq[aci_cmd_req->cmd_len] = '\r'; /* make it V.25 ter compatible */ + aci_cmd_req->cmd_seq[(aci_cmd_req->cmd_len) + 1] = '\0'; + aci_cmd_req->cmd_len++; + } + else /* text has to be terminated by Ctrl-Z */ + { + TRACE_FUNCTION ("ati_src_rvt_proc_cmd () TEXT MODE"); + + aci_cmd_req->cmd_seq[aci_cmd_req->cmd_len] = 0x1a; /* make it V.25 ter compatible */ + aci_cmd_req->cmd_seq[(aci_cmd_req->cmd_len) + 1] = '\0'; + aci_cmd_req->cmd_len++; + } } return (ati_execute (rvt_src_id, - aci_cmd_req->cmd_seq, - aci_cmd_req->cmd_len)); + aci_cmd_req->cmd_seq + offset, + aci_cmd_req->cmd_len - offset)); } /*