@@ -2067,6 +2067,10 @@ OGRErr OGRMiraMonLayer::TranslateFieldsValuesToMM(OGRFeature *poFeature)
2067
2067
return OGRERR_NONE;
2068
2068
}
2069
2069
2070
+ if (!phMiraMonLayer || !phMiraMonLayer->pLayerDB ||
2071
+ !phMiraMonLayer->pLayerDB ->pFields )
2072
+ return OGRERR_INVALID_HANDLE;
2073
+
2070
2074
MM_EXT_DBF_N_MULTIPLE_RECORDS nIRecord;
2071
2075
int nNumFields = m_poFeatureDefn->GetFieldCount ();
2072
2076
MM_EXT_DBF_N_MULTIPLE_RECORDS nNumRecords, nRealNumRecords;
@@ -2262,7 +2266,9 @@ OGRErr OGRMiraMonLayer::TranslateFieldsValuesToMM(OGRFeature *poFeature)
2262
2266
2263
2267
if (MM_SecureCopyStringFieldValue (
2264
2268
&hMMFeature.pRecords [nIRecord].pField [iField].pDinValue ,
2265
- CPLSPrintf (" %.*f" , MAX_RELIABLE_SF_DOUBLE,
2269
+ CPLSPrintf (" %.*f" ,
2270
+ phMiraMonLayer->pLayerDB ->pFields [iField]
2271
+ .nNumberOfDecimals ,
2266
2272
padfRLValues[nIRecord]),
2267
2273
&hMMFeature.pRecords [nIRecord]
2268
2274
.pField [iField]
@@ -2412,7 +2418,9 @@ OGRErr OGRMiraMonLayer::TranslateFieldsValuesToMM(OGRFeature *poFeature)
2412
2418
2413
2419
if (MM_SecureCopyStringFieldValue (
2414
2420
&hMMFeature.pRecords [0 ].pField [iField].pDinValue ,
2415
- CPLSPrintf (" %.*f" , MAX_RELIABLE_SF_DOUBLE,
2421
+ CPLSPrintf (" %.*f" ,
2422
+ phMiraMonLayer->pLayerDB ->pFields [iField]
2423
+ .nNumberOfDecimals ,
2416
2424
poFeature->GetFieldAsDouble (iField)),
2417
2425
&hMMFeature.pRecords [0 ].pField [iField].nNumDinValue ))
2418
2426
return OGRERR_NOT_ENOUGH_MEMORY;
0 commit comments