if (FAILED (hr)) {
const char *str = psEnabled ? fx20 : fx10;
int len = strlen (str);
- if (!existsfile) {
+ if (!existsfile || canusefile == 0) {
struct zfile *z = zfile_fopen (tmp, L"w", 0);
if (z) {
zfile_fwrite ((void*)str, len, 1, z);
#define WINUAEPUBLICBETA 0
#define LANG_DLL 1
-#define WINUAEBETA L"25"
-#define WINUAEDATE MAKEBD(2010, 4, 25)
-#define WINUAEEXTRA L"RC3"
+#define WINUAEBETA L""
+#define WINUAEDATE MAKEBD(2010, 4, 28)
+#define WINUAEEXTRA L""
#define WINUAEREV L""
#define IHF_WINDOWHIDDEN 6
mask = ZFD_NORMAL;
if (type < 0) {
if (currentpage < 0) {
- z = zfile_fopen (file, L"rb", mask);
+ z = zfile_fopen (file, L"rb", 0);
if (z) {
- int zip = iszip (z);
+ zip = iszip (z);
zfile_fclose (z);
}
}
TCHAR *ext = _tcsrchr (name, '.');
uae_u8 header[32];
int i;
- int mask = z->zfdmask;
+ int mask = ZFD_NORMAL;//z->zfdmask;
- if (!mask)
- return 0;
if (!ext)
return 0;
memset (header, 0, sizeof (header));
select = -1;
if (zf->zipname && zf->zipname[0] == '#' && _tstol (zf->zipname + 1) == zipcnt)
select = -1;
- if (select && !we_have_file) {
- z = archive_getzfile (zn, id);
- if (z) {
- if (select < 0 || zfile_gettype (z))
- we_have_file = 1;
- if (!we_have_file) {
- zfile_fclose (z);
- z = NULL;
+ if (select && we_have_file <= 0) {
+ struct zfile *zt = archive_getzfile (zn, id);
+ if (zt) {
+ int ft = zfile_gettype (zt);
+ if (select < 0 || ft) {
+ int whf = 1;
+ if (ft == ZFILE_CDIMAGE) {
+ TCHAR *ext = _tcsrchr (zn->fullname, '.');
+ if (ext && we_have_file == 0) {
+ if (!_tcsicmp (ext, L".iso"))
+ whf = -1; // accept .cue if found later
+ }
+ } else if (we_have_file < 0) {
+ whf = 0; // ignore non-cdimage files if iso was found
+ }
+ if (whf) {
+ we_have_file = whf;
+ if (z)
+ zfile_fclose (z);
+ z = zt;
+ zt = NULL;
+ }
}
+ zfile_fclose (zt);
}
}
}