From 2bd15f169894abf19bc98abb56022ba1c5860e0f Mon Sep 17 00:00:00 2001 From: Mark Whitehorn Date: Tue, 31 May 2016 07:03:08 -0600 Subject: [PATCH] fix string handling issues and simplify parser --- src/modules/logger/logger.cpp | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/src/modules/logger/logger.cpp b/src/modules/logger/logger.cpp index fce47c44c5..9ccb5b9600 100644 --- a/src/modules/logger/logger.cpp +++ b/src/modules/logger/logger.cpp @@ -426,7 +426,7 @@ int Logger::add_topics_from_file(const char *fname) { FILE *fp; char line[80]; - char topic_name[40]; + char topic_name[80]; unsigned interval; int ntopics = 0; @@ -450,24 +450,17 @@ int Logger::add_topics_from_file(const char *fname) } /* skip comment lines */ - if ((strlen(line) < 2) || (line[1] == '#')) { + if ((strlen(line) < 2) || (line[0] == '#')) { continue; } - int nfields = sscanf(line, "%s, %u", &topic_name[0], &interval); - switch (nfields) { - case 1: - /* add topic with default interval */ - add_topic(&topic_name[0], 0); - ntopics++; - break; - case 2: + // default interval to zero + interval = 0; + int nfields = sscanf(line, "%s, %u", topic_name, &interval); + if (nfields > 0) { /* add topic with specified interval */ - add_topic(&topic_name[0], interval); + add_topic(topic_name, interval); ntopics++; - break; - default: - break; } }