diff options
| author | malongwei <[email protected]> | 2021-07-07 23:49:42 +0800 |
|---|---|---|
| committer | malongwei <[email protected]> | 2021-07-07 23:49:42 +0800 |
| commit | e7b63ed7ab2bed790d8b24b68333f65232f71926 (patch) | |
| tree | cf1c22bccbe59533ad99ef9412f230c56410265f /components/net/at/src/at_utils.c | |
| parent | a28fd885b0283c8471945326303b9b89c9ef17cb (diff) | |
fix at_vprintf and at_vprintfln and end_sign response
Diffstat (limited to 'components/net/at/src/at_utils.c')
| -rw-r--r-- | components/net/at/src/at_utils.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/components/net/at/src/at_utils.c b/components/net/at/src/at_utils.c index 8d8887fe5e..d75ee0990e 100644 --- a/components/net/at/src/at_utils.c +++ b/components/net/at/src/at_utils.c @@ -68,21 +68,30 @@ const char *at_get_last_cmd(rt_size_t *cmd_size) rt_size_t at_vprintf(rt_device_t device, const char *format, va_list args) { last_cmd_len = vsnprintf(send_buf, sizeof(send_buf), format, args); + if(last_cmd_len > sizeof(send_buf)) + last_cmd_len = sizeof(send_buf); #ifdef AT_PRINT_RAW_CMD at_print_raw_cmd("sendline", send_buf, last_cmd_len); #endif - return rt_device_write(device, 0, send_buf, last_cmd_len); + return at_device_send(device, 0, send_buf, last_cmd_len); } rt_size_t at_vprintfln(rt_device_t device, const char *format, va_list args) { rt_size_t len; - len = at_vprintf(device, format, args); + last_cmd_len = vsnprintf(send_buf, sizeof(send_buf) - 2, format, args); + if(last_cmd_len > sizeof(send_buf) - 2) + last_cmd_len = sizeof(send_buf) - 2; + rt_memcpy(send_buf + last_cmd_len, "\r\n", 2); - rt_device_write(device, 0, "\r\n", 2); + len = last_cmd_len + 2; - return len + 2; +#ifdef AT_PRINT_RAW_CMD + at_print_raw_cmd("sendline", send_buf, len); +#endif + + return at_device_send(device, 0, send_buf, len); } |
