修改nmealib内存申请API zsxfly20241024
This commit is contained in:
parent
3093935b23
commit
eda386aa78
|
|
@ -48,4 +48,9 @@
|
||||||
# define NMEA_ASSERT(x)
|
# define NMEA_ASSERT(x)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "cm_mem.h"
|
||||||
|
#define name_malloc(size) cm_malloc(size)
|
||||||
|
#define name_free(ptr) cm_free(ptr)
|
||||||
|
|
||||||
|
|
||||||
#endif /* __NMEA_CONFIG_H__ */
|
#endif /* __NMEA_CONFIG_H__ */
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ void nmea_gen_destroy(nmeaGENERATOR *gen)
|
||||||
if(gen->destroy_call)
|
if(gen->destroy_call)
|
||||||
(*gen->destroy_call)(gen);
|
(*gen->destroy_call)(gen);
|
||||||
|
|
||||||
free(gen);
|
name_free(gen);
|
||||||
}
|
}
|
||||||
|
|
||||||
void nmea_gen_add(nmeaGENERATOR *to, nmeaGENERATOR *gen)
|
void nmea_gen_add(nmeaGENERATOR *to, nmeaGENERATOR *gen)
|
||||||
|
|
@ -326,7 +326,7 @@ nmeaGENERATOR * __nmea_create_generator(int type, nmeaINFO *info)
|
||||||
switch(type)
|
switch(type)
|
||||||
{
|
{
|
||||||
case NMEA_GEN_NOISE:
|
case NMEA_GEN_NOISE:
|
||||||
if(0 == (gen = malloc(sizeof(nmeaGENERATOR))))
|
if(0 == (gen = name_malloc(sizeof(nmeaGENERATOR))))
|
||||||
nmea_error("Insufficient memory!");
|
nmea_error("Insufficient memory!");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -338,7 +338,7 @@ nmeaGENERATOR * __nmea_create_generator(int type, nmeaINFO *info)
|
||||||
break;
|
break;
|
||||||
case NMEA_GEN_STATIC:
|
case NMEA_GEN_STATIC:
|
||||||
case NMEA_GEN_SAT_STATIC:
|
case NMEA_GEN_SAT_STATIC:
|
||||||
if(0 == (gen = malloc(sizeof(nmeaGENERATOR))))
|
if(0 == (gen = name_malloc(sizeof(nmeaGENERATOR))))
|
||||||
nmea_error("Insufficient memory!");
|
nmea_error("Insufficient memory!");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -349,7 +349,7 @@ nmeaGENERATOR * __nmea_create_generator(int type, nmeaINFO *info)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case NMEA_GEN_SAT_ROTATE:
|
case NMEA_GEN_SAT_ROTATE:
|
||||||
if(0 == (gen = malloc(sizeof(nmeaGENERATOR))))
|
if(0 == (gen = name_malloc(sizeof(nmeaGENERATOR))))
|
||||||
nmea_error("Insufficient memory!");
|
nmea_error("Insufficient memory!");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -360,7 +360,7 @@ nmeaGENERATOR * __nmea_create_generator(int type, nmeaINFO *info)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case NMEA_GEN_POS_RANDMOVE:
|
case NMEA_GEN_POS_RANDMOVE:
|
||||||
if(0 == (gen = malloc(sizeof(nmeaGENERATOR))))
|
if(0 == (gen = name_malloc(sizeof(nmeaGENERATOR))))
|
||||||
nmea_error("Insufficient memory!");
|
nmea_error("Insufficient memory!");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ int nmea_parser_init(nmeaPARSER *parser)
|
||||||
|
|
||||||
memset(parser, 0, sizeof(nmeaPARSER));
|
memset(parser, 0, sizeof(nmeaPARSER));
|
||||||
|
|
||||||
if(0 == (parser->buffer = malloc(buff_size)))
|
if(0 == (parser->buffer = name_malloc(buff_size)))
|
||||||
nmea_error("Insufficient memory!");
|
nmea_error("Insufficient memory!");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -65,7 +65,7 @@ int nmea_parser_init(nmeaPARSER *parser)
|
||||||
void nmea_parser_destroy(nmeaPARSER *parser)
|
void nmea_parser_destroy(nmeaPARSER *parser)
|
||||||
{
|
{
|
||||||
NMEA_ASSERT(parser && parser->buffer);
|
NMEA_ASSERT(parser && parser->buffer);
|
||||||
free(parser->buffer);
|
name_free(parser->buffer);
|
||||||
nmea_parser_queue_clear(parser);
|
nmea_parser_queue_clear(parser);
|
||||||
memset(parser, 0, sizeof(nmeaPARSER));
|
memset(parser, 0, sizeof(nmeaPARSER));
|
||||||
}
|
}
|
||||||
|
|
@ -94,7 +94,7 @@ int nmea_parse(
|
||||||
|
|
||||||
(*lookup->pfn_info)(pack, info);
|
(*lookup->pfn_info)(pack, info);
|
||||||
info->smask |= lookup->ptype;
|
info->smask |= lookup->ptype;
|
||||||
free(pack);
|
name_free(pack);
|
||||||
}
|
}
|
||||||
|
|
||||||
return nread;
|
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,
|
(const char *)parser->buffer + nparsed + 1,
|
||||||
parser->buff_use - nparsed - 1);
|
parser->buff_use - nparsed - 1);
|
||||||
|
|
||||||
if(0 == (node = malloc(sizeof(nmeaParserNODE))))
|
if(0 == (node = name_malloc(sizeof(nmeaParserNODE))))
|
||||||
goto mem_fail;
|
goto mem_fail;
|
||||||
|
|
||||||
node->pack = 0;
|
node->pack = 0;
|
||||||
|
|
||||||
if(0 == (node->pack = malloc(lookup->pack_size)))
|
if(0 == (node->pack = name_malloc(lookup->pack_size)))
|
||||||
goto mem_fail;
|
goto mem_fail;
|
||||||
//node->packType = lookup->ptype;
|
//node->packType = lookup->ptype;
|
||||||
node->lookup = lookup;
|
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,
|
(const char *)parser->buffer + nparsed,
|
||||||
sen_sz, node->pack, lookup->phead))
|
sen_sz, node->pack, lookup->phead))
|
||||||
{
|
{
|
||||||
free(node);
|
name_free(node);
|
||||||
node = 0;
|
node = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -184,7 +184,7 @@ int nmea_parser_real_push(nmeaPARSER *parser, const char *buff, int buff_sz)
|
||||||
|
|
||||||
mem_fail:
|
mem_fail:
|
||||||
if(node)
|
if(node)
|
||||||
free(node);
|
name_free(node);
|
||||||
|
|
||||||
nmea_error("Insufficient memory!");
|
nmea_error("Insufficient memory!");
|
||||||
|
|
||||||
|
|
@ -254,7 +254,7 @@ void* nmea_parser_pop(nmeaPARSER *parser, void **pack_ptr)
|
||||||
parser->top_node = node->next_node;
|
parser->top_node = node->next_node;
|
||||||
if(!parser->top_node)
|
if(!parser->top_node)
|
||||||
parser->end_node = 0;
|
parser->end_node = 0;
|
||||||
free(node);
|
name_free(node);
|
||||||
}
|
}
|
||||||
|
|
||||||
return lookup;
|
return lookup;
|
||||||
|
|
@ -296,12 +296,12 @@ void* nmea_parser_drop(nmeaPARSER *parser)
|
||||||
if(node)
|
if(node)
|
||||||
{
|
{
|
||||||
if(node->pack)
|
if(node->pack)
|
||||||
free(node->pack);
|
name_free(node->pack);
|
||||||
lookup = node->lookup;
|
lookup = node->lookup;
|
||||||
parser->top_node = node->next_node;
|
parser->top_node = node->next_node;
|
||||||
if(!parser->top_node)
|
if(!parser->top_node)
|
||||||
parser->end_node = 0;
|
parser->end_node = 0;
|
||||||
free(node);
|
name_free(node);
|
||||||
}
|
}
|
||||||
|
|
||||||
return lookup;
|
return lookup;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue