From d01219da30e0395e656cbe07f9b14d62428b0302 Mon Sep 17 00:00:00 2001 From: jianf <2198972886@qq.com> Date: Mon, 2 Feb 2026 21:04:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=97=A5=E5=BF=97=E5=86=85?= =?UTF-8?q?=E5=AD=98=E4=B8=8D=E8=B6=B3=E6=97=B6=E7=9A=84=E5=86=99=E5=85=A5?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- c/tools/log/log.c | 38 +++++++++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/c/tools/log/log.c b/c/tools/log/log.c index 3b9fc09..b271844 100644 --- a/c/tools/log/log.c +++ b/c/tools/log/log.c @@ -9,6 +9,34 @@ #include #include +int write_into_block(char *writein,char *org,int *length,int maxlength,char *logname) +{ + if(writein == NULL||org == NULL||length == NULL||logname == NULL) + return -1; + if(*length+strlen(org)next !=NULL) { @@ -120,7 +148,8 @@ int cleanup(log_manager *self) close(fd); } free(logbufbk); - logbuf = failback;//降级策略,堆空间不足时,使用预分配栈空间,保留最后一条日志 + logbuf = failback;//降级策略,堆空间不足时,使用预分配栈空间 + buf_length = 0; } if(logbuf != failback){ buf_lengthbk = buf_length; @@ -129,7 +158,7 @@ int cleanup(log_manager *self) } else { - buf_length = MAX_LOG_LENGTH; + write_into_block(logbuf,tobeclean->log,&buf_length,MAX_LOG_LENGTH,"log.txt"); } free(tobeclean); } @@ -151,8 +180,7 @@ int cleanup(log_manager *self) } } else{ - strcpy(logbuf,loc->log); - buf_length = strlen(logbuf); + write_into_block(logbuf,loc->log,&buf_length,MAX_LOG_LENGTH,"log.txt"); } if(logbuf == failback&&buf_length>MAX_LOG_LENGTH) logbuf[MAX_LOG_LENGTH-1] = '\0';