From eda386aa7898ef1859d99da92a32f1cbdacd1b16 Mon Sep 17 00:00:00 2001 From: zsx <1543588107@qq.com> Date: Thu, 24 Oct 2024 08:47:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9nmealib=E5=86=85=E5=AD=98?= =?UTF-8?q?=E7=94=B3=E8=AF=B7API=20zsxfly20241024?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- custom/nmealib/inc/nmea/config.h | 5 +++++ custom/nmealib/src/generator.c | 10 +++++----- custom/nmealib/src/parser.c | 20 ++++++++++---------- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/custom/nmealib/inc/nmea/config.h b/custom/nmealib/inc/nmea/config.h index 5014662..6e86a15 100644 --- a/custom/nmealib/inc/nmea/config.h +++ b/custom/nmealib/inc/nmea/config.h @@ -48,4 +48,9 @@ # define NMEA_ASSERT(x) #endif +#include "cm_mem.h" +#define name_malloc(size) cm_malloc(size) +#define name_free(ptr) cm_free(ptr) + + #endif /* __NMEA_CONFIG_H__ */ diff --git a/custom/nmealib/src/generator.c b/custom/nmealib/src/generator.c index 7134daf..a8dde54 100644 --- a/custom/nmealib/src/generator.c +++ b/custom/nmealib/src/generator.c @@ -87,7 +87,7 @@ void nmea_gen_destroy(nmeaGENERATOR *gen) if(gen->destroy_call) (*gen->destroy_call)(gen); - free(gen); + name_free(gen); } void nmea_gen_add(nmeaGENERATOR *to, nmeaGENERATOR *gen) @@ -326,7 +326,7 @@ nmeaGENERATOR * __nmea_create_generator(int type, nmeaINFO *info) switch(type) { case NMEA_GEN_NOISE: - if(0 == (gen = malloc(sizeof(nmeaGENERATOR)))) + if(0 == (gen = name_malloc(sizeof(nmeaGENERATOR)))) nmea_error("Insufficient memory!"); else { @@ -338,7 +338,7 @@ nmeaGENERATOR * __nmea_create_generator(int type, nmeaINFO *info) break; case NMEA_GEN_STATIC: case NMEA_GEN_SAT_STATIC: - if(0 == (gen = malloc(sizeof(nmeaGENERATOR)))) + if(0 == (gen = name_malloc(sizeof(nmeaGENERATOR)))) nmea_error("Insufficient memory!"); else { @@ -349,7 +349,7 @@ nmeaGENERATOR * __nmea_create_generator(int type, nmeaINFO *info) } break; case NMEA_GEN_SAT_ROTATE: - if(0 == (gen = malloc(sizeof(nmeaGENERATOR)))) + if(0 == (gen = name_malloc(sizeof(nmeaGENERATOR)))) nmea_error("Insufficient memory!"); else { @@ -360,7 +360,7 @@ nmeaGENERATOR * __nmea_create_generator(int type, nmeaINFO *info) } break; case NMEA_GEN_POS_RANDMOVE: - if(0 == (gen = malloc(sizeof(nmeaGENERATOR)))) + if(0 == (gen = name_malloc(sizeof(nmeaGENERATOR)))) nmea_error("Insufficient memory!"); else { diff --git a/custom/nmealib/src/parser.c b/custom/nmealib/src/parser.c index 1fd48ff..dddc84b 100644 --- a/custom/nmealib/src/parser.c +++ b/custom/nmealib/src/parser.c @@ -48,7 +48,7 @@ int nmea_parser_init(nmeaPARSER *parser) memset(parser, 0, sizeof(nmeaPARSER)); - if(0 == (parser->buffer = malloc(buff_size))) + if(0 == (parser->buffer = name_malloc(buff_size))) nmea_error("Insufficient memory!"); else { @@ -65,7 +65,7 @@ int nmea_parser_init(nmeaPARSER *parser) void nmea_parser_destroy(nmeaPARSER *parser) { NMEA_ASSERT(parser && parser->buffer); - free(parser->buffer); + name_free(parser->buffer); nmea_parser_queue_clear(parser); memset(parser, 0, sizeof(nmeaPARSER)); } @@ -94,7 +94,7 @@ int nmea_parse( (*lookup->pfn_info)(pack, info); info->smask |= lookup->ptype; - free(pack); + name_free(pack); } return nread; @@ -149,12 +149,12 @@ int nmea_parser_real_push(nmeaPARSER *parser, const char *buff, int buff_sz) (const char *)parser->buffer + nparsed + 1, parser->buff_use - nparsed - 1); - if(0 == (node = malloc(sizeof(nmeaParserNODE)))) + if(0 == (node = name_malloc(sizeof(nmeaParserNODE)))) goto mem_fail; node->pack = 0; - if(0 == (node->pack = malloc(lookup->pack_size))) + if(0 == (node->pack = name_malloc(lookup->pack_size))) goto mem_fail; //node->packType = lookup->ptype; node->lookup = lookup; @@ -162,7 +162,7 @@ int nmea_parser_real_push(nmeaPARSER *parser, const char *buff, int buff_sz) (const char *)parser->buffer + nparsed, sen_sz, node->pack, lookup->phead)) { - free(node); + name_free(node); node = 0; } @@ -184,7 +184,7 @@ int nmea_parser_real_push(nmeaPARSER *parser, const char *buff, int buff_sz) mem_fail: if(node) - free(node); + name_free(node); nmea_error("Insufficient memory!"); @@ -254,7 +254,7 @@ void* nmea_parser_pop(nmeaPARSER *parser, void **pack_ptr) parser->top_node = node->next_node; if(!parser->top_node) parser->end_node = 0; - free(node); + name_free(node); } return lookup; @@ -296,12 +296,12 @@ void* nmea_parser_drop(nmeaPARSER *parser) if(node) { if(node->pack) - free(node->pack); + name_free(node->pack); lookup = node->lookup; parser->top_node = node->next_node; if(!parser->top_node) parser->end_node = 0; - free(node); + name_free(node); } return lookup;