# HG changeset patch # User Mychaela Falconia # Date 1547020487 0 # Node ID 6b94853890cf6e34a8ff6973342337bd1ae02c61 # Parent 7d5b412ffb6c4c70ccbc3d8623f72e550324c1fa AT-over-RVT enhancement from Magnetite diff -r 7d5b412ffb6c -r 6b94853890cf src/g23m-aci/aci/ati_src_rvt.c --- a/src/g23m-aci/aci/ati_src_rvt.c Mon Jan 07 18:47:52 2019 +0000 +++ b/src/g23m-aci/aci/ati_src_rvt.c Wed Jan 09 07:54:47 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)); } /*