Fix usage of a string past its lifetime, and set a default type for encode

This commit is contained in:
Bart van Strien
2012-01-12 11:30:09 +01:00
parent 9dc4138366
commit d525349549
+4 -2
View File
@@ -149,16 +149,18 @@ namespace image
if (lua_isstring(L, 2)) if (lua_isstring(L, 2))
luax_convobj(L, 2, "filesystem", "newFile"); luax_convobj(L, 2, "filesystem", "newFile");
love::filesystem::File * file = luax_checktype<love::filesystem::File>(L, 2, "File", FILESYSTEM_FILE_T); love::filesystem::File * file = luax_checktype<love::filesystem::File>(L, 2, "File", FILESYSTEM_FILE_T);
std::string ext;
const char * fmt; const char * fmt;
if (lua_isnoneornil(L, 3)) if (lua_isnoneornil(L, 3))
{ {
fmt = file->getExtension().c_str(); ext = file->getExtension();
fmt = ext.c_str();
} }
else else
{ {
fmt = luaL_checkstring(L, 3); fmt = luaL_checkstring(L, 3);
} }
ImageData::Format format; ImageData::Format format = ImageData::FORMAT_PNG;
ImageData::getConstant(fmt, format); ImageData::getConstant(fmt, format);
try try
{ {