diff options
Diffstat (limited to 'Build/source/libs/zziplib/zziplib-0.13.62/SDL/SDL_rwops_zzip.c')
-rw-r--r-- | Build/source/libs/zziplib/zziplib-0.13.62/SDL/SDL_rwops_zzip.c | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/Build/source/libs/zziplib/zziplib-0.13.62/SDL/SDL_rwops_zzip.c b/Build/source/libs/zziplib/zziplib-0.13.62/SDL/SDL_rwops_zzip.c deleted file mode 100644 index b273a811470..00000000000 --- a/Build/source/libs/zziplib/zziplib-0.13.62/SDL/SDL_rwops_zzip.c +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2001 Guido Draheim <guidod@gmx.de> - * Use freely under the restrictions of the ZLIB License - * - * (this example uses errno which might not be multithreaded everywhere) - */ - -#include <SDL_rwops_zzip.h> -#include <zzip/zzip.h> -#include <string.h> /* strchr */ - -/* MSVC can not take a casted variable as an lvalue ! */ -#define SDL_RWOPS_ZZIP_DATA(_context) \ - ((_context)->hidden.unknown.data1) -#define SDL_RWOPS_ZZIP_FILE(_context) (ZZIP_FILE*) \ - ((_context)->hidden.unknown.data1) - -static int _zzip_seek(SDL_RWops *context, int offset, int whence) -{ - return zzip_seek(SDL_RWOPS_ZZIP_FILE(context), offset, whence); -} - -static int _zzip_read(SDL_RWops *context, void *ptr, int size, int maxnum) -{ - return zzip_read(SDL_RWOPS_ZZIP_FILE(context), ptr, size*maxnum) / size; -} - -static int _zzip_write(SDL_RWops *context, const void *ptr, int size, int num) -{ - return 0; /* ignored */ -} - -static int _zzip_close(SDL_RWops *context) -{ - if (! context) return 0; /* may be SDL_RWclose is called by atexit */ - - zzip_close (SDL_RWOPS_ZZIP_FILE(context)); - SDL_FreeRW (context); - return 0; -} - -SDL_RWops *SDL_RWFromZZIP(const char* file, const char* mode) -{ - register SDL_RWops* rwops; - register ZZIP_FILE* zzip_file; - - if (! strchr (mode, 'r')) - return SDL_RWFromFile(file, mode); - - zzip_file = zzip_fopen (file, mode); - if (! zzip_file) return 0; - - rwops = SDL_AllocRW (); - if (! rwops) { errno=ENOMEM; zzip_close (zzip_file); return 0; } - - SDL_RWOPS_ZZIP_DATA(rwops) = zzip_file; - rwops->read = _zzip_read; - rwops->write = _zzip_write; - rwops->seek = _zzip_seek; - rwops->close = _zzip_close; - return rwops; -} |