Browse Source

Unify love.system.getOS and love._os implementations.

Sasha Szpakowski 2 years ago
parent
commit
2598a51316

+ 7 - 12
src/modules/love/love.cpp

@@ -86,6 +86,11 @@ extern "C"
 #	include "audio/Audio.h"
 #endif
 
+// For love::system::System::getOS.
+#ifdef LOVE_ENABLE_SYSTEM
+#	include "system/System.h"
+#endif
+
 // Scripts.
 #include "scripts/nogame.lua.h"
 
@@ -599,18 +604,8 @@ int luaopen_love(lua_State *L)
 	lua_pushcfunction(L, w_love_isVersionCompatible);
 	lua_setfield(L, -2, "isVersionCompatible");
 
-#ifdef LOVE_WINDOWS_UWP
-	lua_pushstring(L, "UWP");
-#elif LOVE_WINDOWS
-	lua_pushstring(L, "Windows");
-#elif defined(LOVE_MACOS)
-	lua_pushstring(L, "OS X");
-#elif defined(LOVE_IOS)
-	lua_pushstring(L, "iOS");
-#elif defined(LOVE_ANDROID)
-	lua_pushstring(L, "Android");
-#elif defined(LOVE_LINUX)
-	lua_pushstring(L, "Linux");
+#ifdef LOVE_ENABLE_SYSTEM
+	lua_pushstring(L, love::system::System::getOS());
 #else
 	lua_pushstring(L, "Unknown");
 #endif

+ 1 - 1
src/modules/system/System.cpp

@@ -62,7 +62,7 @@ System::System()
 {
 }
 
-std::string System::getOS() const
+const char *System::getOS()
 {
 #if defined(LOVE_MACOS)
 	return "OS X";

+ 1 - 1
src/modules/system/System.h

@@ -57,7 +57,7 @@ public:
 	/**
 	 * Gets the current operating system.
 	 **/
-	std::string getOS() const;
+	static const char *getOS();
 
 	/**
 	 * Gets the number of reported CPU cores on the current system.

+ 1 - 1
src/modules/system/wrap_System.cpp

@@ -31,7 +31,7 @@ namespace system
 
 int w_getOS(lua_State *L)
 {
-	luax_pushstring(L, instance()->getOS());
+	luax_pushstring(L, System::getOS());
 	return 1;
 }