Auto delete MetaData when = 0 (#8770)
authorLejo <Lejo_1@web.de>
Sat, 2 May 2020 10:57:04 +0000 (12:57 +0200)
committerGitHub <noreply@github.com>
Sat, 2 May 2020 10:57:04 +0000 (12:57 +0200)
* Auto delete MetaData when = 0

src/script/lua_api/l_metadata.cpp

index 21002e6a70734bb0c674cde9596e79263da5f9bd..61a25a761017c48e297e0469b079c92aa4c07395 100644 (file)
@@ -153,7 +153,9 @@ int MetaDataRef::l_set_int(lua_State *L)
        MetaDataRef *ref = checkobject(L, 1);
        std::string name = luaL_checkstring(L, 2);
        int a = luaL_checkint(L, 3);
-       std::string str = itos(a);
+       std::string str;
+       if (a != 0)
+               str = itos(a);
 
        Metadata *meta = ref->getmeta(true);
        if (meta == NULL || str == meta->getString(name))
@@ -191,7 +193,9 @@ int MetaDataRef::l_set_float(lua_State *L)
        MetaDataRef *ref = checkobject(L, 1);
        std::string name = luaL_checkstring(L, 2);
        float a = readParam<float>(L, 3);
-       std::string str = ftos(a);
+       std::string str;
+       if (a != 0)
+               str = ftos(a);
 
        Metadata *meta = ref->getmeta(true);
        if (meta == NULL || str == meta->getString(name))