summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorliuxueli <[email protected]>2020-05-18 19:04:26 +0800
committerliuxueli <[email protected]>2020-05-18 19:04:26 +0800
commitcbcabe06b304f4f126c8d94d051953c44e1585cc (patch)
tree069feb79472d019e467d84c2624420254e3ace32
parentf87040a2f43a94db09e6f0145c6878cdd292c36e (diff)
修复发送日志初始化失败的BUGv1.0.9.20.05.01
-rw-r--r--inc/tsg_send_log.h1
-rw-r--r--src/tsg_send_log.cpp47
2 files changed, 24 insertions, 24 deletions
diff --git a/inc/tsg_send_log.h b/inc/tsg_send_log.h
index 3223f36..a609503 100644
--- a/inc/tsg_send_log.h
+++ b/inc/tsg_send_log.h
@@ -17,6 +17,7 @@ typedef enum _tld_type
TLD_TYPE_LONG=1,
TLD_TYPE_STRING,
TLD_TYPE_FILE,
+ TLD_TYPE_TOPIC,
TLD_TYPE_MAX
}TLD_TYPE;
diff --git a/src/tsg_send_log.cpp b/src/tsg_send_log.cpp
index 58f24e4..61550b4 100644
--- a/src/tsg_send_log.cpp
+++ b/src/tsg_send_log.cpp
@@ -26,7 +26,8 @@ struct tsg_log_instance_t *g_tsg_log_instance;
const id2field_t tld_type[TLD_TYPE_MAX]={{TLD_TYPE_UNKNOWN, TLD_TYPE_UNKNOWN, "UNKOWN"},
{TLD_TYPE_LONG, TLD_TYPE_LONG, "LONG"},
{TLD_TYPE_STRING, TLD_TYPE_STRING, "STRING"},
- {TLD_TYPE_FILE, TLD_TYPE_FILE, "FILE"}
+ {TLD_TYPE_FILE, TLD_TYPE_FILE, "FILE"},
+ {TLD_TYPE_TOPIC, TLD_TYPE_TOPIC, "TOPIC"}
};
extern "C" int MESA_get_dev_ipv4(const char *device, int *ip_add);
@@ -303,7 +304,7 @@ int load_log_common_field(const char *filename, id2field_t *id2field, id2field_t
ret=sscanf(line, "%s %s %d", type_name, field_name, &id);
assert(ret==3 && id<LOG_COMMON_MAX);
- for(i=0; i<LOG_COMMON_MAX; i++)
+ for(i=0; i<TLD_TYPE_MAX; i++)
{
if((strncasecmp(tld_type[i].name, type_name, strlen(tld_type[i].name)))==0)
{
@@ -316,12 +317,22 @@ int load_log_common_field(const char *filename, id2field_t *id2field, id2field_t
id2field[id].id = id;
memcpy(id2field[id].name, field_name, strlen(field_name));
break;
- default:
- if((strncasecmp("TOPIC", type_name, strlen("TOPIC")))==0)
+ case TLD_TYPE_TOPIC:
+ if(_service2topic==NULL)
{
- if(_service2topic==NULL)
+ _service2topic=(id2field_t *)calloc(1, sizeof(id2field_t)*(id+1));
+ _service2topic[id].type = TLD_TYPE_MAX;
+ _service2topic[id].id = id;
+ memcpy(_service2topic[id].name, field_name, strlen(field_name));
+
+ *max_service=id+1;
+ }
+ else
+ {
+ if(*max_service<=id)
{
- _service2topic=(id2field_t *)calloc(1, sizeof(id2field_t)*(id+1));
+ _service2topic=(id2field_t *)realloc(_service2topic, sizeof(id2field_t)*(id+1));
+ memset(&_service2topic[id], 0, sizeof(id2field_t));
_service2topic[id].type = TLD_TYPE_MAX;
_service2topic[id].id = id;
memcpy(_service2topic[id].name, field_name, strlen(field_name));
@@ -330,27 +341,15 @@ int load_log_common_field(const char *filename, id2field_t *id2field, id2field_t
}
else
{
- if(*max_service<=id)
- {
- _service2topic=(id2field_t *)realloc(_service2topic, sizeof(id2field_t)*(id+1));
- memset(&_service2topic[id], 0, sizeof(id2field_t));
- _service2topic[id].type = TLD_TYPE_MAX;
- _service2topic[id].id = id;
- memcpy(_service2topic[id].name, field_name, strlen(field_name));
-
- *max_service=id+1;
- }
- else
- {
- memset(&_service2topic[id], 0, sizeof(id2field_t));
- _service2topic[id].type = TLD_TYPE_MAX;
- _service2topic[id].id = id;
- memcpy(_service2topic[id].name, field_name, strlen(field_name));
- }
+ memset(&_service2topic[id], 0, sizeof(id2field_t));
+ _service2topic[id].type = TLD_TYPE_MAX;
+ _service2topic[id].id = id;
+ memcpy(_service2topic[id].name, field_name, strlen(field_name));
}
-
}
break;
+ default:
+ break;
}
}
}