@@ -1859,8 +1859,8 @@ bool Project::ExportPOVRay(const QString& FileName)
1859
1859
lcPiecesLibrary* Library = lcGetPiecesLibrary ();
1860
1860
std::map<const PieceInfo*, std::pair<char [LC_PIECE_NAME_LEN + 1 ], int >> PieceTable;
1861
1861
size_t NumColors = gColorList .size ();
1862
- std::vector<std::array<char , LC_MAX_COLOR_NAME>> LgeoColorTable (NumColors);
1863
- std::vector<std::array<char , LC_MAX_COLOR_NAME>> ColorTable (NumColors);
1862
+ std::vector<std::array<char , LC_MAX_COLOR_NAME + 3 >> LgeoColorTable (NumColors);
1863
+ std::vector<std::array<char , LC_MAX_COLOR_NAME + 3 >> ColorTable (NumColors);
1864
1864
1865
1865
const std::vector<std::unique_ptr<lcLight>>& Lights = gMainWindow ->GetActiveModel ()->GetLights ();
1866
1866
const lcCamera* Camera = gMainWindow ->GetActiveView ()->GetCamera ();
@@ -2295,7 +2295,8 @@ bool Project::ExportPOVRay(const QString& FileName)
2295
2295
if (ColorIdx >= NumColors)
2296
2296
continue ;
2297
2297
2298
- strncpy (LgeoColorTable[ColorIdx].data (), Name, LC_MAX_COLOR_NAME);
2298
+ strncpy (LgeoColorTable[ColorIdx].data (), Name, LgeoColorTable[ColorIdx].size ());
2299
+ LgeoColorTable[ColorIdx][LgeoColorTable[ColorIdx].size () - 1 ] = 0 ;
2299
2300
}
2300
2301
}
2301
2302
@@ -2321,16 +2322,16 @@ bool Project::ExportPOVRay(const QString& FileName)
2321
2322
}
2322
2323
else
2323
2324
{
2324
- char MacroName[LC_MAX_COLOR_NAME];
2325
+ const char * MacroName;
2326
+
2325
2327
if (lcIsColorChrome (ColorIdx))
2326
- sprintf ( MacroName, " Chrome" ) ;
2328
+ MacroName = " Chrome" ;
2327
2329
else if (lcIsColorRubber (ColorIdx))
2328
- sprintf ( MacroName, " Rubber" ) ;
2330
+ MacroName = " Rubber" ;
2329
2331
else
2330
- sprintf ( MacroName, " Opaque" ) ;
2332
+ MacroName = " Opaque" ;
2331
2333
2332
- sprintf (Line, " #ifndef (lc_%s)\n #declare lc_%s = %sColor(%g, %g, %g)\n #end\n\n " ,
2333
- Color->SafeName , Color->SafeName , MacroName, Color->Value [0 ], Color->Value [1 ], Color->Value [2 ]);
2334
+ sprintf (Line, " #ifndef (lc_%s)\n #declare lc_%s = %sColor(%g, %g, %g)\n #end\n\n " , Color->SafeName , Color->SafeName , MacroName, Color->Value [0 ], Color->Value [1 ], Color->Value [2 ]);
2334
2335
}
2335
2336
}
2336
2337
else
0 commit comments