summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2017-04-23 19:50:33 +0200
committerDavid Tardon <dtardon@redhat.com>2017-04-23 19:50:33 +0200
commit6ce30072d9b5f25ed1ebfc83801b5d533e4ee626 (patch)
treece5188ed6c885a6e161cdba40c46f95b769c1ea9
parent41d38b20a23c587b76014663346a1b73c5a4a8cd (diff)
replace dumb pointers by smart ones
Change-Id: Ie10877ba7a83741f57166c079e3b95fc4145ccbd
-rw-r--r--src/lib/ABWStylesCollector.cpp9
-rw-r--r--src/lib/ABWStylesCollector.h3
2 files changed, 5 insertions, 7 deletions
diff --git a/src/lib/ABWStylesCollector.cpp b/src/lib/ABWStylesCollector.cpp
index 2e3da90..59b0b83 100644
--- a/src/lib/ABWStylesCollector.cpp
+++ b/src/lib/ABWStylesCollector.cpp
@@ -101,12 +101,10 @@ static int abw_unichar_to_utf8(unsigned c, char *outbuf)
static void appendUCS4(librevenge::RVNGString &str, unsigned ucs4)
{
int charLength = abw_unichar_to_utf8(ucs4, 0);
- char *utf8 = new char[charLength+1];
+ std::vector<char> utf8(charLength+1);
utf8[charLength] = '\0';
- abw_unichar_to_utf8(ucs4, utf8);
- str.append(utf8);
-
- delete[] utf8;
+ abw_unichar_to_utf8(ucs4, utf8.data());
+ str.append(utf8.data());
}
} // anonymous namespace
@@ -146,7 +144,6 @@ libabw::ABWStylesCollector::ABWStylesCollector(std::map<int, int> &tableSizes,
libabw::ABWStylesCollector::~ABWStylesCollector()
{
- DELETEP(m_ps);
}
void libabw::ABWStylesCollector::openTable(const char *)
diff --git a/src/lib/ABWStylesCollector.h b/src/lib/ABWStylesCollector.h
index dfcb684..2b00b5d 100644
--- a/src/lib/ABWStylesCollector.h
+++ b/src/lib/ABWStylesCollector.h
@@ -10,6 +10,7 @@
#ifndef __ABWSTYLESCOLLECTOR_H__
#define __ABWSTYLESCOLLECTOR_H__
+#include <memory>
#include <stack>
#include <librevenge/librevenge.h>
#include "ABWCollector.h"
@@ -103,7 +104,7 @@ private:
std::string _findCellProperty(const char *name);
void _processList(int id, const char *listDelim, int parentid, int startValue, int type);
- ABWStylesParsingState *m_ps;
+ std::unique_ptr<ABWStylesParsingState> m_ps;
std::map<int, int> &m_tableSizes;
std::map<std::string, ABWData> &m_data;
int m_tableCounter;