misc/libphysfs/extras/physfslualoader.c
branchphysfslayer
changeset 8522 1853628ae285
parent 8119 257ffa847aa2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/libphysfs/extras/physfslualoader.c	Fri Feb 22 05:15:48 2013 +0100
@@ -0,0 +1,30 @@
+#include "lua.h"
+#include "physfs.h"
+
+#define BUFSIZE 1024
+
+void *physfsReaderBuffer;
+
+PHYSFS_DECL const char * physfsReader(lua_State *L, PHYSFS_File *f, size_t *size)
+{
+
+    if(PHYSFS_eof(f))
+    {
+        return NULL;
+    }
+    else
+    {
+        *size = PHYSFS_readBytes(f, physfsReaderBuffer, BUFSIZE);
+
+        if(*size == 0)
+            return NULL;
+        else
+            return physfsReaderBuffer;
+    }
+}
+
+PHYSFS_DECL void physfsReaderSetBuffer(void *buffer)
+{
+    physfsReaderBuffer = buffer;
+}
+