Kaydet (Commit) 722d0b98 authored tarafından Noel Grandin's avatar Noel Grandin

loplugin:useuniqueptr in HWPFont

Change-Id: Idd20e180fdd215028cf972e7ed97b37b7b9bed55
Reviewed-on: https://gerrit.libreoffice.org/49872Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst 7a510eff
...@@ -35,11 +35,6 @@ HWPFont::HWPFont() ...@@ -35,11 +35,6 @@ HWPFont::HWPFont()
HWPFont::~HWPFont() HWPFont::~HWPFont()
{ {
for (int ii = 0; ii < NLanguage; ii++)
{
nFonts[ii] = 0;
delete[]fontnames[ii];
}
} }
...@@ -52,7 +47,7 @@ void HWPFont::AddFont(int lang, const char *font) ...@@ -52,7 +47,7 @@ void HWPFont::AddFont(int lang, const char *font)
nfonts = nFonts[lang]; nfonts = nFonts[lang];
if (MAXFONTS <= nfonts) if (MAXFONTS <= nfonts)
return; return;
strncpy(fontnames[lang] + FONTNAMELEN * nfonts, font, FONTNAMELEN - 1); strncpy(fontnames[lang].get() + FONTNAMELEN * nfonts, font, FONTNAMELEN - 1);
nFonts[lang]++; nFonts[lang]++;
} }
...@@ -63,7 +58,7 @@ const char *HWPFont::GetFontName(int lang, int id) ...@@ -63,7 +58,7 @@ const char *HWPFont::GetFontName(int lang, int id)
return nullptr; return nullptr;
if (id < 0 || nFonts[lang] <= id) if (id < 0 || nFonts[lang] <= id)
return nullptr; return nullptr;
return fontnames[lang] + id * FONTNAMELEN; return fontnames[lang].get() + id * FONTNAMELEN;
} }
...@@ -83,9 +78,9 @@ void HWPFont::Read(HWPFile & hwpf) ...@@ -83,9 +78,9 @@ void HWPFont::Read(HWPFile & hwpf)
(void)hwpf.SetState(HWP_InvalidFileFormat); (void)hwpf.SetState(HWP_InvalidFileFormat);
return; return;
} }
fontnames[lang] = new char[nfonts * FONTNAMELEN]; fontnames[lang].reset(new char[nfonts * FONTNAMELEN]);
memset(fontnames[lang], 0, nfonts * FONTNAMELEN); memset(fontnames[lang].get(), 0, nfonts * FONTNAMELEN);
for (int jj = 0; jj < nfonts; jj++) for (int jj = 0; jj < nfonts; jj++)
{ {
hwpf.ReadBlock(buffer, FONTNAMELEN); hwpf.ReadBlock(buffer, FONTNAMELEN);
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <memory>
#define MAXFONTS 256 #define MAXFONTS 256
#define FONTNAMELEN 40 #define FONTNAMELEN 40
...@@ -42,7 +43,7 @@ class DLLEXPORT HWPFont final ...@@ -42,7 +43,7 @@ class DLLEXPORT HWPFont final
/** /**
* list of the font family name * list of the font family name
*/ */
char *fontnames[NLanguage]; std::unique_ptr<char[]> fontnames[NLanguage];
public: public:
HWPFont(void); HWPFont(void);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment