修改nmealib内存申请API zsxfly20241024

This commit is contained in:
zsx 2024-10-24 08:47:05 +08:00
parent 3093935b23
commit eda386aa78
3 changed files with 20 additions and 15 deletions

View File

@ -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__ */

View File

@ -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
{

View File

@ -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;