summaryrefslogtreecommitdiff
path: root/hwpfilter/source/hwpreader.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-12-21 09:31:35 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-12-21 12:21:45 +0100
commitd30f7435aa7aacb3e196178ebd7407284e6c8230 (patch)
tree774553560d869e04dfb1731d3496fbcc553487b8 /hwpfilter/source/hwpreader.cxx
parent4ce06f8d162a282025cefe14e5684f82e439e01c (diff)
use unique_ptr in hwpfilter
Change-Id: I3491777281912e095c9222e83028d358d6826841 Reviewed-on: https://gerrit.libreoffice.org/65522 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'hwpfilter/source/hwpreader.cxx')
-rw-r--r--hwpfilter/source/hwpreader.cxx43
1 files changed, 15 insertions, 28 deletions
diff --git a/hwpfilter/source/hwpreader.cxx b/hwpfilter/source/hwpreader.cxx
index 642a8df18707..1481c1b8e042 100644
--- a/hwpfilter/source/hwpreader.cxx
+++ b/hwpfilter/source/hwpreader.cxx
@@ -4360,15 +4360,15 @@ void HwpReader::makePictureDRAW(HWPDrawingObject *drawobj, Picture * hbox)
int n, i;
n = drawobj->u.freeform.npt;
- double *xarr = new double[n+1];
- double *yarr = new double[n+1];
- double *tarr = new double[n+1];
+ std::unique_ptr<double[]> xarr( new double[n+1] );
+ std::unique_ptr<double[]> yarr( new double[n+1] );
+ std::unique_ptr<double[]> tarr( new double[n+1] );
- double *xb = nullptr;
- double *yb = nullptr;
+ std::unique_ptr<double[]> xb;
+ std::unique_ptr<double[]> yb;
- double *carr = nullptr;
- double *darr = nullptr;
+ std::unique_ptr<double[]> carr;
+ std::unique_ptr<double[]> darr;
for( i = 0 ; i < n ; i++ ){
@@ -4381,22 +4381,18 @@ void HwpReader::makePictureDRAW(HWPDrawingObject *drawobj, Picture * hbox)
tarr[n] = n;
if( !bIsNatural ){
- PeriodicSpline(n, tarr, xarr, xb, carr, darr);
+ PeriodicSpline(n, tarr.get(), xarr.get(), xb, carr, darr);
// prevent memory leak
- delete[] carr;
- carr = nullptr;
- delete[] darr;
- darr = nullptr;
- PeriodicSpline(n, tarr, yarr, yb, carr, darr);
+ carr.reset();
+ darr.reset();
+ PeriodicSpline(n, tarr.get(), yarr.get(), yb, carr, darr);
}
else{
- NaturalSpline(n, tarr, xarr, xb, carr, darr);
+ NaturalSpline(n, tarr.get(), xarr.get(), xb, carr, darr);
// prevent memory leak
- delete[] carr;
- carr = nullptr;
- delete[] darr;
- darr = nullptr;
- NaturalSpline(n, tarr, yarr, yb, carr, darr);
+ carr.reset();
+ darr.reset();
+ NaturalSpline(n, tarr.get(), yarr.get(), yb, carr, darr);
}
sprintf(buf, "M%d %dC%d %d", WTSM(xarr[0]), WTSM(yarr[0]),
@@ -4418,15 +4414,6 @@ void HwpReader::makePictureDRAW(HWPDrawingObject *drawobj, Picture * hbox)
oustr.append(ascii(buf));
}
- delete[] tarr;
- delete[] xarr;
- delete[] yarr;
-
- delete[] xb;
- delete[] yb;
-
- delete[] carr;
- delete[] darr;
}
padd("svg:d", sXML_CDATA, oustr.makeStringAndClear());