summaryrefslogtreecommitdiff
path: root/components/net/at/src/at_utils.c
diff options
context:
space:
mode:
authormalongwei <[email protected]>2021-07-07 23:49:42 +0800
committermalongwei <[email protected]>2021-07-07 23:49:42 +0800
commite7b63ed7ab2bed790d8b24b68333f65232f71926 (patch)
treecf1c22bccbe59533ad99ef9412f230c56410265f /components/net/at/src/at_utils.c
parenta28fd885b0283c8471945326303b9b89c9ef17cb (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.c17
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);
}