int CLuaFileDefs::fileGetPos ( lua_State* luaVM ) { // int fileGetPos ( file ) // Grab the file pointer CScriptFile* pFile = NULL; CScriptArgReader argStream ( luaVM ); argStream.ReadUserData ( pFile ); if ( !argStream.HasErrors ( ) ) { if ( pFile ) { long lPosition = pFile->GetPointer (); if ( lPosition != -1 ) { // Return its position lua_pushnumber ( luaVM, lPosition ); } else { m_pScriptDebugging->LogBadPointer ( luaVM, "file", 1 ); lua_pushnil ( luaVM ); } return 1; } else m_pScriptDebugging->LogBadPointer ( luaVM, "file", 1 ); } else m_pScriptDebugging->LogCustom ( luaVM, argStream.GetFullErrorMessage() ); // Error lua_pushnil ( luaVM ); return 1; }