diff src/modules/filesystem/physfs/Filesystem.cpp @ 1418:357697c2e2a8

More internal code cleanup
author Alex Szpakowski <slime73@gmail.com>
date Sun, 31 Mar 2013 19:02:27 -0300
parents 486d48aaa2f8
children
line wrap: on
line diff
--- a/src/modules/filesystem/physfs/Filesystem.cpp	Sun Mar 31 04:55:03 2013 -0300
+++ b/src/modules/filesystem/physfs/Filesystem.cpp	Sun Mar 31 19:02:27 2013 -0300
@@ -343,28 +343,17 @@
 
 int Filesystem::enumerate(lua_State *L)
 {
-	int n = lua_gettop(L);
-
-	if (n != 1)
-		return luaL_error(L, "Function requires a single parameter.");
-
-	int type = lua_type(L, 1);
+	const char *dir = luaL_checkstring(L, 1);
 
-	if (type != LUA_TSTRING)
-		return luaL_error(L, "Function requires parameter of type string.");
-
-	const char *dir = lua_tostring(L, 1);
 	char **rc = PHYSFS_enumerateFiles(dir);
-	char **i;
 	int index = 1;
 
 	lua_newtable(L);
 
-	for (i = rc; *i != 0; i++)
+	for (char **i = rc; *i != 0; i++)
 	{
-		lua_pushinteger(L, index);
 		lua_pushstring(L, *i);
-		lua_settable(L, -3);
+		lua_rawseti(L, -2, index);
 		index++;
 	}