# HG changeset patch # User nenolod # Date 1162893313 28800 # Node ID 88465b96e4b37d452d14e64f465ef956ff61687a # Parent 7b7660c9f31c8c91bf5934f49d0188a192f55be3 [svn] - VFS support diff -r 7b7660c9f31c -r 88465b96e4b3 ChangeLog --- a/ChangeLog Tue Nov 07 00:35:18 2006 -0800 +++ b/ChangeLog Tue Nov 07 01:55:13 2006 -0800 @@ -1,3 +1,12 @@ +2006-11-07 08:35:18 +0000 William Pitcock + revision [480] + - rewrite to take advantage of already existant object-oriented framework + - add VFS support + + trunk/src/wavpack/libwavpack.cxx | 101 ++++++++++++++++++++++++++++++++------- + 1 file changed, 83 insertions(+), 18 deletions(-) + + 2006-11-07 08:07:11 +0000 William Pitcock revision [476] - put musepack support back diff -r 7b7660c9f31c -r 88465b96e4b3 src/modplug/archive/Makefile --- a/src/modplug/archive/Makefile Tue Nov 07 00:35:18 2006 -0800 +++ b/src/modplug/archive/Makefile Tue Nov 07 01:55:13 2006 -0800 @@ -1,7 +1,7 @@ include ../../../mk/rules.mk include ../../../mk/init.mk -CXXFLAGS += $(PICFLAGS) -I../../.. +CXXFLAGS += $(PICFLAGS) -I../../.. $(GTK_CFLAGS) $(AUDACIOUS_CFLAGS) OBJECTIVE_LIBS_NOINST = libarchive.a diff -r 7b7660c9f31c -r 88465b96e4b3 src/modplug/archive/arch_raw.cxx --- a/src/modplug/archive/arch_raw.cxx Tue Nov 07 00:35:18 2006 -0800 +++ b/src/modplug/archive/arch_raw.cxx Tue Nov 07 01:55:13 2006 -0800 @@ -16,36 +16,26 @@ arch_Raw::arch_Raw(const string& aFileName) { - mFileDesc = open(aFileName.c_str(), O_RDONLY); - - struct stat lStat; + mFileDesc = vfs_fopen(aFileName.c_str(), "rb"); //open and mmap the file - if(mFileDesc == -1) + if(mFileDesc == NULL) { mSize = 0; return; } - fstat(mFileDesc, &lStat); - mSize = lStat.st_size; + mSize = vfs_ftell(mFileDesc); - mMap = - (uchar*)mmap(0, mSize, PROT_READ, - MAP_PRIVATE, mFileDesc, 0); - if(!mMap) - { - close(mFileDesc); - mSize = 0; - return; - } + mMap = malloc(mSize); + vfs_fread(mMap, 0, mSize, mFileDesc); } arch_Raw::~arch_Raw() { if(mSize != 0) { - munmap(mMap, mSize); - close(mFileDesc); + free(mMap); + vfs_fclose(mFileDesc); } } diff -r 7b7660c9f31c -r 88465b96e4b3 src/modplug/archive/arch_raw.h --- a/src/modplug/archive/arch_raw.h Tue Nov 07 00:35:18 2006 -0800 +++ b/src/modplug/archive/arch_raw.h Tue Nov 07 01:55:13 2006 -0800 @@ -10,9 +10,13 @@ #include "archive.h" #include +extern "C" { +#include +}; + class arch_Raw: public Archive { - int mFileDesc; + VFSFile *mFileDesc; public: arch_Raw(const string& aFileName);