* See the COPYING file in the top-level directory.
*/
+#include <compat/fopen_utf8.h>
+
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <zlib.h>
#ifndef _WIN32
#define CALLBACK
+#ifndef NO_DYLIB
#include <dlfcn.h>
+#endif
#else
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
return 0;
}
-int uncompress2(void *out, unsigned long *out_size, void *in, unsigned long in_size)
+static int uncompress2_pcsx(void *out, unsigned long *out_size, void *in, unsigned long in_size)
{
static z_stream z;
int ret = 0;
ret = uncompress(cdbuffer->raw[0], &cdbuffer_size, cdbuffer->compressed, size);
break;
case CDRC_ZLIB2:
- ret = uncompress2(cdbuffer->raw[0], &cdbuffer_size, cdbuffer->compressed, size);
+ ret = uncompress2_pcsx(cdbuffer->raw[0], &cdbuffer_size, cdbuffer->compressed, size);
break;
case CDRC_BZ:
ret = pBZ2_bzBuffToBuffDecompress((char *)cdbuffer->raw, (unsigned int *)&cdbuffer_size,
return -1;
}
}
-#ifndef _WIN32
+#if !defined(_WIN32) && !defined(NO_DYLIB)
if (pBZ2_bzBuffToBuffDecompress == NULL) {
void *h = dlopen("/usr/lib/libbz2.so.1", RTLD_LAZY);
if (h == NULL)
int i, ret;
FILE *f;
- f = fopen(cd_fname, "rb");
+ f = fopen_utf8(cd_fname, "rb");
if (f == NULL) {
err("missing file: %s: ", cd_fname);
perror(NULL);
return -1;
}
- f = fopen(table_fname, "rb");
+ f = fopen_utf8(table_fname, "rb");
if (f == NULL) {
err("missing file: %s: ", table_fname);
perror(NULL);
break;
}
- cd_file = fopen(cd_fname, "rb");
+ cd_file = fopen_utf8(cd_fname, "rb");
if (cd_file == NULL) {
err("failed to open: %s: ", table_fname);
perror(NULL);