Skip to content

Commit 7587085

Browse files
author
jef
committed
fix dxf2shp plugin
git-svn-id: http://svn.osgeo.org/qgis/trunk@9043 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent de1cb55 commit 7587085

File tree

3 files changed

+34
-30
lines changed

3 files changed

+34
-30
lines changed

src/plugins/dxf2shp_converter/CMakeLists.txt

-4
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,6 @@ SET (dxf2shpconverter_UIS dxf2shpconvertergui.ui)
1616
SET (dxf2shpconverter_MOC_HDRS
1717
dxf2shpconverter.h
1818
dxf2shpconvertergui.h
19-
builder.h
20-
getInsertions.h
21-
dxflib/src/dl_dxf.h
22-
dxflib/src/dl_writer_ascii.h
2319
)
2420

2521
SET (dxf2shpconverter_RCCS dxf2shpconverter.qrc)

src/plugins/dxf2shp_converter/builder.cpp

+32-21
Original file line numberDiff line numberDiff line change
@@ -225,20 +225,22 @@ void Builder::addLine(const DL_LineData& data) {
225225

226226
SHPObject *psShape;
227227
int dim = polyVertex.size();
228-
double xv[dim];
229-
double yv[dim];
230-
double zv[dim];
228+
double *xv = new double[dim];
229+
double *yv = new double[dim];
230+
double *zv = new double[dim];
231231

232232
for (int i=0; i < dim; i++)
233233
{
234234
xv[i] = polyVertex[i].x;
235235
yv[i] = polyVertex[i].y;
236236
zv[i] = polyVertex[i].z;
237-
238237
}
239238

240-
psShape = SHPCreateObject( shapefileType, fetchedprims, 0, NULL, NULL,
241-
dim, xv, yv, zv, NULL );
239+
psShape = SHPCreateObject( shapefileType, fetchedprims, 0, NULL, NULL, dim, xv, yv, zv, NULL );
240+
241+
delete [] xv;
242+
delete [] yv;
243+
delete [] zv;
242244

243245
shpObjects.push_back(psShape);
244246

@@ -363,9 +365,9 @@ void Builder::addArc(const DL_ArcData& data)
363365

364366
SHPObject *psShape;
365367
int dim = arcPoints.size();
366-
double xv[dim];
367-
double yv[dim];
368-
double zv[dim];
368+
double *xv = new double[dim];
369+
double *yv = new double[dim];
370+
double *zv = new double[dim];
369371

370372
for (int i=0; i < dim; i++)
371373
{
@@ -375,8 +377,11 @@ void Builder::addArc(const DL_ArcData& data)
375377

376378
}
377379

378-
psShape = SHPCreateObject( shapefileType, fetchedprims, 0, NULL, NULL,
379-
dim, xv, yv, zv, NULL );
380+
psShape = SHPCreateObject( shapefileType, fetchedprims, 0, NULL, NULL, dim, xv, yv, zv, NULL );
381+
382+
delete [] xv;
383+
delete [] yv;
384+
delete [] zv;
380385

381386
shpObjects.push_back(psShape);
382387

@@ -427,9 +432,9 @@ void Builder::addCircle(const DL_CircleData& data)
427432

428433
SHPObject *psShape;
429434
int dim = circlePoints.size();
430-
double xv[dim];
431-
double yv[dim];
432-
double zv[dim];
435+
double *xv = new double[dim];
436+
double *yv = new double[dim];
437+
double *zv = new double[dim];
433438

434439
for (int i=0; i < dim; i++)
435440
{
@@ -439,8 +444,11 @@ void Builder::addCircle(const DL_CircleData& data)
439444

440445
}
441446

442-
psShape = SHPCreateObject( shapefileType, fetchedprims, 0, NULL, NULL,
443-
dim, xv, yv, zv, NULL );
447+
psShape = SHPCreateObject( shapefileType, fetchedprims, 0, NULL, NULL, dim, xv, yv, zv, NULL );
448+
449+
delete [] xv;
450+
delete [] yv;
451+
delete [] zv;
444452

445453
shpObjects.push_back(psShape);
446454

@@ -502,9 +510,9 @@ void Builder::FinalizeAnyPolyline()
502510

503511
SHPObject *psObject;
504512
int dim = polyVertex.size();
505-
double xv[dim];
506-
double yv[dim];
507-
double zv[dim];
513+
double *xv = new double[dim];
514+
double *yv = new double[dim];
515+
double *zv = new double[dim];
508516

509517
for (int i=0; i < dim; i++)
510518
{
@@ -514,8 +522,11 @@ void Builder::FinalizeAnyPolyline()
514522

515523
}
516524

517-
psObject = SHPCreateObject( shapefileType, fetchedprims, 0, NULL, NULL,
518-
dim, xv, yv, zv, NULL );
525+
psObject = SHPCreateObject( shapefileType, fetchedprims, 0, NULL, NULL, dim, xv, yv, zv, NULL );
526+
527+
delete [] xv;
528+
delete [] yv;
529+
delete [] zv;
519530

520531
shpObjects.push_back(psObject);
521532

src/plugins/dxf2shp_converter/dxflib/src/dl_writer_ascii.cpp

+2-5
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,8 @@
2525
**
2626
**********************************************************************/
2727

28-
#if _MSC_VER > 1000
29-
#pragma once
30-
#endif // _MSC_VER > 1000
31-
32-
#include <stdio.h>
28+
#include <cstdio>
29+
#include <cstring>
3330

3431
#include "dl_writer_ascii.h"
3532
#include "dl_exception.h"

0 commit comments

Comments
 (0)