Browse Source

【主线待合】大静态变量挪到全局,防止占用过多函数内栈空间

master
Lizongdi 1 week ago
parent
commit
e348a1bf89
  1. 10
      bspMCU/My_Lwip.c

10
bspMCU/My_Lwip.c

@ -65,6 +65,7 @@
#define ECHO 1 #define ECHO 1
#define SGA 3 #define SGA 3
static int connect_fd = -1; //socket套接字 static int connect_fd = -1; //socket套接字
static char g_talnet_temp[RECV_SIZE];
#if 0 #if 0
static rd_ringbuf_t *g_rb_handle = NULL; static rd_ringbuf_t *g_rb_handle = NULL;
@ -135,10 +136,9 @@ void ShowLWIPstate(void)
void luaprint_talnet(const char *fmt, ...) void luaprint_talnet(const char *fmt, ...)
{ {
static char temp[RECV_SIZE];
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
int len = vsprintf(temp, fmt, args); int len = vsprintf(g_talnet_temp, fmt, args);
va_end(args); va_end(args);
if (len > 0 && connect_fd >= 0) if (len > 0 && connect_fd >= 0)
{ {
@ -146,16 +146,16 @@ void luaprint_talnet(const char *fmt, ...)
int start = 0; int start = 0;
for (int i = 0; i < len; i++) for (int i = 0; i < len; i++)
{ {
if (temp[i] == '\n') if (g_talnet_temp[i] == '\n')
{ {
if (i > start) if (i > start)
write(connect_fd, &temp[start], i - start); write(connect_fd, &g_talnet_temp[start], i - start);
write(connect_fd, "\r\n", 2); write(connect_fd, "\r\n", 2);
start = i + 1; start = i + 1;
} }
} }
if (start < len) if (start < len)
write(connect_fd, &temp[start], len - start); write(connect_fd, &g_talnet_temp[start], len - start);
} }
} }

Loading…
Cancel
Save