Skip to content

Commit 8104837

Browse files
committed
Elimination of unused define + writing the configured number of decimals
1 parent 93d0d05 commit 8104837

File tree

2 files changed

+14
-8
lines changed

2 files changed

+14
-8
lines changed

ogr/ogrsf_frmts/miramon/mm_gdal_driver_structs.h

+4-6
Original file line numberDiff line numberDiff line change
@@ -318,12 +318,10 @@ struct MiraMonVectorMetaData
318318
struct MiraMonFieldValue
319319
{
320320
MM_BOOLEAN bIsValid; // If 1 the value is filled. If 0, there is no value.
321-
#define MM_INIT_STRING_FIELD_VALUE 50000 // Never less than 10
322-
MM_EXT_DBF_N_FIELDS nNumDinValue; // Size of the reserved string value
323-
char *pDinValue; // Used if MM_MAX_STRING_FIELD_VALUE is not enough
324-
double dValue; // For double and 32 bit integer numeric values
325-
GInt64 iValue; // For 64 bit integer values.
326-
//MM_BOOLEAN kbValue; // For binary values.
321+
MM_EXT_DBF_N_FIELDS nNumDinValue; // Size of the reserved string value
322+
char *pDinValue; // Used to store the value as string
323+
double dValue; // For double and 32 bit integer numeric values
324+
GInt64 iValue; // For 64 bit integer values.
327325
};
328326

329327
struct MiraMonRecord

ogr/ogrsf_frmts/miramon/ogrmiramonlayer.cpp

+10-2
Original file line numberDiff line numberDiff line change
@@ -2067,6 +2067,10 @@ OGRErr OGRMiraMonLayer::TranslateFieldsValuesToMM(OGRFeature *poFeature)
20672067
return OGRERR_NONE;
20682068
}
20692069

2070+
if (!phMiraMonLayer || !phMiraMonLayer->pLayerDB ||
2071+
!phMiraMonLayer->pLayerDB->pFields)
2072+
return OGRERR_INVALID_HANDLE;
2073+
20702074
MM_EXT_DBF_N_MULTIPLE_RECORDS nIRecord;
20712075
int nNumFields = m_poFeatureDefn->GetFieldCount();
20722076
MM_EXT_DBF_N_MULTIPLE_RECORDS nNumRecords, nRealNumRecords;
@@ -2262,7 +2266,9 @@ OGRErr OGRMiraMonLayer::TranslateFieldsValuesToMM(OGRFeature *poFeature)
22622266

22632267
if (MM_SecureCopyStringFieldValue(
22642268
&hMMFeature.pRecords[nIRecord].pField[iField].pDinValue,
2265-
CPLSPrintf("%.*f", MAX_RELIABLE_SF_DOUBLE,
2269+
CPLSPrintf("%.*f",
2270+
phMiraMonLayer->pLayerDB->pFields[iField]
2271+
.nNumberOfDecimals,
22662272
padfRLValues[nIRecord]),
22672273
&hMMFeature.pRecords[nIRecord]
22682274
.pField[iField]
@@ -2412,7 +2418,9 @@ OGRErr OGRMiraMonLayer::TranslateFieldsValuesToMM(OGRFeature *poFeature)
24122418

24132419
if (MM_SecureCopyStringFieldValue(
24142420
&hMMFeature.pRecords[0].pField[iField].pDinValue,
2415-
CPLSPrintf("%.*f", MAX_RELIABLE_SF_DOUBLE,
2421+
CPLSPrintf("%.*f",
2422+
phMiraMonLayer->pLayerDB->pFields[iField]
2423+
.nNumberOfDecimals,
24162424
poFeature->GetFieldAsDouble(iField)),
24172425
&hMMFeature.pRecords[0].pField[iField].nNumDinValue))
24182426
return OGRERR_NOT_ENOUGH_MEMORY;

0 commit comments

Comments
 (0)