Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libretro-crocods for
openSUSE:Factory checked in at 2021-09-20 23:32:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libretro-crocods (Old)
and /work/SRC/openSUSE:Factory/.libretro-crocods.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libretro-crocods"
Mon Sep 20 23:32:37 2021 rev:3 rq:919813 version:0~git20210314
Changes:
--------
--- /work/SRC/openSUSE:Factory/libretro-crocods/libretro-crocods.changes
2020-06-23 21:07:07.594333058 +0200
+++
/work/SRC/openSUSE:Factory/.libretro-crocods.new.1899/libretro-crocods.changes
2021-09-20 23:33:55.527230821 +0200
@@ -1,0 +2,15 @@
+Fri Sep 10 15:31:43 UTC 2021 - [email protected]
+
+- Update to version 0~git20210314:
+ * Add osx-arm64/tvos-arm64/ios-arm64
+ * Update .gitlab-ci.yml
+ * Update .gitlab-ci.yml
+ * Update .gitlab-ci.yml
+ * Update .gitlab-ci.yml
+ * Update
+ * Update
+ * Update .gitlab-ci.yml
+ * Cleanups
+ * Add .gitlab-ci.yml
+
+-------------------------------------------------------------------
Old:
----
libretro-crocods-0~git20200508.tar.xz
New:
----
libretro-crocods-0~git20210314.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libretro-crocods.spec ++++++
--- /var/tmp/diff_new_pack.7fLjkD/_old 2021-09-20 23:33:55.983231385 +0200
+++ /var/tmp/diff_new_pack.7fLjkD/_new 2021-09-20 23:33:55.983231385 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libretro-crocods
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: libretro-crocods
-Version: 0~git20200508
+Version: 0~git20210314
Release: 0
Summary: CrocoDS libretro core for Amstrad emulation
License: MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.7fLjkD/_old 2021-09-20 23:33:56.039231454 +0200
+++ /var/tmp/diff_new_pack.7fLjkD/_new 2021-09-20 23:33:56.039231454 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://github.com/libretro/libretro-crocods.git</param>
- <param
name="changesrevision">8d8443cd68093dab195e38973374159c8daefa96</param></service></servicedata>
\ No newline at end of file
+ <param
name="changesrevision">86eeccfb68ad6a1cb39ef5b008902f6636d7d194</param></service></servicedata>
\ No newline at end of file
++++++ libretro-crocods-0~git20200508.tar.xz ->
libretro-crocods-0~git20210314.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libretro-crocods-0~git20200508/.gitlab-ci.yml
new/libretro-crocods-0~git20210314/.gitlab-ci.yml
--- old/libretro-crocods-0~git20200508/.gitlab-ci.yml 1970-01-01
01:00:00.000000000 +0100
+++ new/libretro-crocods-0~git20210314/.gitlab-ci.yml 2021-03-14
14:42:15.000000000 +0100
@@ -0,0 +1,215 @@
+# DESCRIPTION: GitLab CI/CD for libRetro (NOT FOR GitLab-proper)
+
+##############################################################################
+################################# BOILERPLATE ################################
+##############################################################################
+
+# Core definitions
+.core-defs:
+ variables:
+ JNI_PATH: .
+ CORENAME: crocods
+
+# Core definitions
+include:
+ ################################## DESKTOPS ################################
+ # Windows 64-bit
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/windows-x64-mingw.yml'
+
+ # Windows 32-bit
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/windows-i686-mingw.yml'
+
+ # Linux 64-bit
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/linux-x64.yml'
+
+ # Linux 32-bit
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/linux-i686.yml'
+
+ # MacOS 64-bit
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/osx-x64.yml'
+
+ # MacOS ARM 64-bit
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/osx-arm64.yml'
+
+ ################################## CELLULAR ################################
+ # Android
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/android-jni.yml'
+
+ # iOS
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/ios-arm64.yml'
+
+ # iOS (armv7)
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/ios9.yml'
+
+ ################################## CONSOLES ################################
+ # Nintendo 3DS
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/ctr-static.yml'
+
+ # Nintendo GameCube
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/ngc-static.yml'
+
+ # Nintendo Wii
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/wii-static.yml'
+
+ # Nintendo WiiU
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/wiiu-static.yml'
+
+ # Nintendo Switch
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/libnx-static.yml'
+
+ # PlayStation Portable
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/psp-static.yml'
+
+ # PlayStation Vita
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/vita-static.yml'
+
+ # tvOS (AppleTV)
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/tvos-arm64.yml'
+
+ #################################### MISC ##################################
+
+# Stages for building
+stages:
+ - build-prepare
+ - build-shared
+ - build-static
+
+################################### DESKTOPS #################################
+# Windows 64-bit
+libretro-build-windows-x64:
+ extends:
+ - .libretro-windows-x64-mingw-make-default
+ - .core-defs
+
+# Windows 32-bit
+libretro-build-windows-i686:
+ extends:
+ - .libretro-windows-i686-mingw-make-default
+ - .core-defs
+
+# Linux 64-bit
+libretro-build-linux-x64:
+ extends:
+ - .libretro-linux-x64-make-default
+ - .core-defs
+
+# Linux 32-bit
+libretro-build-linux-i686:
+ extends:
+ - .libretro-linux-i686-make-default
+ - .core-defs
+
+# MacOS 64-bit
+libretro-build-osx-x64:
+ extends:
+ - .libretro-osx-x64-make-default
+ - .core-defs
+
+# MacOS ARM 64-bit
+libretro-build-osx-arm64:
+ extends:
+ - .libretro-osx-arm64-make-default
+ - .core-defs
+
+################################### CELLULAR #################################
+# Android ARMv7a
+android-armeabi-v7a:
+ extends:
+ - .libretro-android-jni-armeabi-v7a
+ - .core-defs
+
+# Android ARMv8a
+android-arm64-v8a:
+ extends:
+ - .libretro-android-jni-arm64-v8a
+ - .core-defs
+
+# Android 64-bit x86
+android-x86_64:
+ extends:
+ - .libretro-android-jni-x86_64
+ - .core-defs
+
+# Android 32-bit x86
+android-x86:
+ extends:
+ - .libretro-android-jni-x86
+ - .core-defs
+
+# iOS
+libretro-build-ios-arm64:
+ extends:
+ - .libretro-ios-arm64-make-default
+ - .core-defs
+
+# iOS (armv7) [iOS 9 and up]
+libretro-build-ios9:
+ extends:
+ - .libretro-ios9-make-default
+ - .core-defs
+
+# tvOS
+libretro-build-tvos-arm64:
+ extends:
+ - .libretro-tvos-arm64-make-default
+ - .core-defs
+
+################################### CONSOLES #################################
+# PlayStation Portable
+libretro-build-psp:
+ extends:
+ - .libretro-psp-static-retroarch-master
+ - .core-defs
+
+# PlayStation Vita
+libretro-build-vita:
+ extends:
+ - .libretro-vita-static-retroarch-master
+ - .core-defs
+
+# Nintendo 3DS
+libretro-build-ctr:
+ extends:
+ - .libretro-ctr-static-retroarch-master
+ - .core-defs
+
+# Nintendo GameCube
+libretro-build-ngc:
+ extends:
+ - .libretro-ngc-static-retroarch-master
+ - .core-defs
+
+# Nintendo Wii
+libretro-build-wii:
+ extends:
+ - .libretro-wii-static-retroarch-master
+ - .core-defs
+
+# Nintendo WiiU
+libretro-build-wiiu:
+ extends:
+ - .libretro-wiiu-static-retroarch-master
+ - .core-defs
+
+# Nintendo Switch
+libretro-build-libnx-aarch64:
+ extends:
+ - .libretro-libnx-static-retroarch-master
+ - .core-defs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libretro-crocods-0~git20200508/Makefile
new/libretro-crocods-0~git20210314/Makefile
--- old/libretro-crocods-0~git20200508/Makefile 2020-05-08 06:46:20.000000000
+0200
+++ new/libretro-crocods-0~git20210314/Makefile 2021-03-14 14:42:15.000000000
+0100
@@ -24,6 +24,9 @@
ifeq ($(shell uname -p),powerpc)
arch = ppc
endif
+ifeq ($(shell uname -p),arm)
+ arch = arm
+endif
else ifneq ($(findstring MINGW,$(shell uname -a)),)
system_platform = win
endif
@@ -36,13 +39,6 @@
LIBM := -lm
fpic=
-ifeq ($(ARCHFLAGS),)
-ifeq ($(archs),ppc)
- ARCHFLAGS = -arch ppc -arch ppc64
-else
- ARCHFLAGS = -arch x86_64
-endif
-endif
ifeq ($(STATIC_LINKING),1)
EXT=a
@@ -64,33 +60,58 @@
SHARED := -shared -Wl,--no-undefined
LIBM :=
else ifeq ($(platform), osx)
- EXT?=dylib
+ EXT?=dylib
TARGET := $(TARGET_NAME)_libretro.$(EXT)
fpic := -fPIC
SHARED := -dynamiclib
+
+ifeq ($(UNIVERSAL),1)
+ifeq ($(archs),ppc)
+ ARCHFLAGS = -arch ppc -arch ppc64
+else ifeq ($(archs),arm64)
+ ARCHFLAGS = -arch x86_64 -arch arm64
+else
+ ARCHFLAGS = -arch x86_64
+endif
+endif
+
+ ifeq ($(CROSS_COMPILE),1)
+ TARGET_RULE = -target $(LIBRETRO_APPLE_PLATFORM) -isysroot
$(LIBRETRO_APPLE_ISYSROOT)
+ CFLAGS += $(TARGET_RULE)
+ CPPFLAGS += $(TARGET_RULE)
+ CXXFLAGS += $(TARGET_RULE)
+ LDFLAGS += $(TARGET_RULE)
+ endif
+
+ CFLAGS += $(ARCHFLAGS)
+ CXXFLAGS += $(ARCHFLAGS)
+ LDFLAGS += $(ARCHFLAGS)
+
+
# iOS
else ifneq (,$(findstring ios,$(platform)))
- EXT?=dylib
+ EXT?=dylib
TARGET := $(TARGET_NAME)_libretro_ios.$(EXT)
fpic := -fPIC
SHARED := -dynamiclib
DEFINES := -DIOS
+ MINVERSION :=
ifeq ($(IOSSDK),)
IOSSDK := $(shell xcodebuild -version -sdk iphoneos Path)
endif
ifeq ($(platform),ios-arm64)
- CC = cc -arch arm64 -isysroot $(IOSSDK)
+ CC = cc -arch arm64 -isysroot $(IOSSDK)
else
- CC = cc -arch armv7 -isysroot $(IOSSDK)
+ CC = cc -arch armv7 -isysroot $(IOSSDK)
endif
ifeq ($(platform),$(filter $(platform),ios9 ios-arm64))
- SHARED += -miphoneos-version-min=8.0
- CC += -miphoneos-version-min=8.0
+ MINVERSION = -miphoneos-version-min=8.0
else
- SHARED += -miphoneos-version-min=5.0
- CC += -miphoneos-version-min=5.0
+ MINVERSION = -miphoneos-version-min=5.0
endif
+ SHARED += $(MINVERSION)
+
else ifeq ($(platform), tvos-arm64)
EXT?=dylib
TARGET := $(TARGET_NAME)_libretro_tvos.$(EXT)
@@ -102,6 +123,8 @@
IOSSDK := $(shell xcodebuild -version -sdk appletvos Path)
endif
+ CC = cc -arch arm64 -isysroot $(IOSSDK)
+
else ifeq ($(platform), theos_ios)
# Theos iOS
DEPLOYMENT_IOSVERSION = 5.0
@@ -155,26 +178,6 @@
TARGET := $(TARGET_NAME)_libretro_$(platform).$(EXT)
STATIC_LINKING = 1
-# PS3
-else ifeq ($(platform), ps3)
- EXT=a
- TARGET := $(TARGET_NAME)_libretro_$(platform).$(EXT)
- CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe
- CC_AS = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe
- AR = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ar.exe
- PLATFORM_DEFINES := -D__CELLOS_LV2__
- STATIC_LINKING = 1
-
-# sncps3
-else ifeq ($(platform), sncps3)
- EXT=a
- TARGET := $(TARGET_NAME)_libretro_ps3.$(EXT)
- CC = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe
- CC_AS = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe
- AR = $(CELL_SDK)/host-win32/sn/bin/ps3snarl.exe
- PLATFORM_DEFINES := -D__CELLOS_LV2__
- STATIC_LINKING = 1
-
# Lightweight PS3 Homebrew SDK
else ifeq ($(platform), psl1ght)
EXT=a
@@ -182,7 +185,7 @@
CC = $(PS3DEV)/ppu/bin/ppu-gcc$(EXE_EXT)
CC_AS = $(PS3DEV)/ppu/bin/ppu-gcc$(EXE_EXT)
AR = $(PS3DEV)/ppu/bin/ppu-ar$(EXE_EXT)
- PLATFORM_DEFINES := -D__CELLOS_LV2__ -D__PSL1GHT__
+ PLATFORM_DEFINES := -D__PSL1GHT__
STATIC_LINKING = 1
# PSP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libretro-crocods-0~git20200508/deps/ziptool.c
new/libretro-crocods-0~git20210314/deps/ziptool.c
--- old/libretro-crocods-0~git20200508/deps/ziptool.c 2020-05-08
06:46:20.000000000 +0200
+++ new/libretro-crocods-0~git20210314/deps/ziptool.c 2021-03-14
14:42:15.000000000 +0100
@@ -2,6 +2,7 @@
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
+#include <ctype.h>
#include "libz/zlib.h"
#include "ziptool.h"
@@ -157,54 +158,42 @@
static int MyComp( const char* str1, const char* str2);
-inline char tolower(const char toLower)
-{
- if ((toLower >= 'A') && (toLower <= 'Z'))
- return (char)(toLower + 0x20);
-
- return toLower;
-}
-
int MyComp( const char* str1, const char* str2)
{
- int i;
-
- i=0;
-
- while(1) {
- int c1,c2;
+ int i;
- c1=str1[i];
- c2=str2[i];
+ i=0;
- if ((c1==0) && (c2==0)) {
- return 0;
- }
+ while(1)
+ {
+ int c1=str1[i];
+ int c2=str2[i];
- c1=tolower(c1);
- c2=tolower(c2);
+ if ((c1==0) && (c2==0))
+ return 0;
- if (c1=='\\') c1='/';
- if (c2=='\\') c2='/';
+ c1=tolower(c1);
+ c2=tolower(c2);
- if (c1>c2) {
- return 1;
- }
- if (c1<c2) {
- return -1;
- }
- i++;
- }
+ if (c1=='\\')
+ c1='/';
+ if (c2=='\\')
+ c2='/';
+
+ if (c1>c2)
+ return 1;
+ if (c1<c2)
+ return -1;
+ i++;
+ }
- return -1;
+ return -1;
}
int compare( const void *arg1, const void *arg2 )
{
- struct zipdir *alb1, *alb2;
-
- alb1=(struct zipdir*)arg1;
- alb2=(struct zipdir*)arg2;
+ struct zipdir *alb1=(struct zipdir*)arg1;
+ struct zipdir *alb2=(struct zipdir*)arg2;
return MyComp( alb1->name, alb2->name);
}
@@ -233,80 +222,74 @@
CZ->open=1;
}
-
-
-
void ReadDir(struct CZipTool *CZ)
{
- int max=100;
+ int max=100;
+ struct ZipLocalHeader hdr;
- if (CZ->zipnbrc!=-1) {
- return;
- }
+ if (CZ->zipnbrc!=-1)
+ return;
- CZ->zipdirc=(struct zipdir*)malloc(sizeof(struct zipdir)*max);
+ CZ->zipdirc=(struct zipdir*)malloc(sizeof(struct zipdir)*max);
- CZ->zipdirc=NULL;
- CZ->zipnbrc=-1;
+ CZ->zipdirc=NULL;
+ CZ->zipnbrc=-1;
- struct ZipLocalHeader hdr;
- CZ->pzip=0;
- CZ->pout=0;
+ CZ->pzip=0;
+ CZ->pout=0;
- CZ->zipnbrc=0;
+ CZ->zipnbrc=0;
- CZ->zipdirc=(struct zipdir*)malloc(sizeof(struct zipdir)*max);
+ CZ->zipdirc=(struct zipdir*)malloc(sizeof(struct zipdir)*max);
- while(1)
- {
- int oldpos;
+ while(1)
+ {
+ int oldpos;
- oldpos=CZ->pzip;
+ oldpos=CZ->pzip;
- if (doHeader(CZ, &hdr)==0) break;
- if (CZ->zipdirc==NULL) {
- CZ->zipnbrc=0;
- break;
- }
- CZ->zipdirc[CZ->zipnbrc].name =
(char*)malloc(strlen(hdr.fnm)+1);
- strcpy(CZ->zipdirc[CZ->zipnbrc].name, hdr.fnm);
- CZ->zipdirc[CZ->zipnbrc].position=oldpos;
-
- CZ->pzip = CZ->pzip + hdr.csz;
- CZ->zipnbrc++;
-
- if (CZ->zipnbrc>=max) {
- max+=100;
- CZ->zipdirc=(struct zipdir*)realloc(CZ->zipdirc,
sizeof(struct zipdir)*max);
- }
- }
-
- qsort(CZ->zipdirc, CZ->zipnbrc, sizeof(struct zipdir), compare);
+ if (doHeader(CZ, &hdr)==0) break;
+ if (CZ->zipdirc==NULL) {
+ CZ->zipnbrc=0;
+ break;
+ }
+ CZ->zipdirc[CZ->zipnbrc].name = (char*)malloc(strlen(hdr.fnm)+1);
+ strcpy(CZ->zipdirc[CZ->zipnbrc].name, hdr.fnm);
+ CZ->zipdirc[CZ->zipnbrc].position=oldpos;
+
+ CZ->pzip = CZ->pzip + hdr.csz;
+ CZ->zipnbrc++;
+
+ if (CZ->zipnbrc>=max)
+ {
+ max+=100;
+ CZ->zipdirc=(struct zipdir*)realloc(CZ->zipdirc, sizeof(struct
zipdir)*max);
+ }
+ }
- return;
+ qsort(CZ->zipdirc, CZ->zipnbrc, sizeof(struct zipdir), compare);
}
void CZipToolClean(struct CZipTool *CZ)
{
- if (CZ->common_buf != NULL) {
- free(CZ->common_buf);
- }
- if (CZ->cached != NULL) {
- free(CZ->cached);
- }
+ if (CZ->common_buf)
+ free(CZ->common_buf);
+ if (CZ->cached)
+ free(CZ->cached);
}
int kgetc(struct CZipTool *CZ)
{
int a;
- if (CZ->pzip<CZ->mzip) {
+ if (CZ->pzip<CZ->mzip)
+ {
a=CZ->kzip[CZ->pzip];
CZ->pzip++;
- } else {
- a=EOF;
}
+ else
+ a=EOF;
return a;
}
@@ -314,9 +297,8 @@
int kread(struct CZipTool *CZ, unsigned char *dest, int count)
{
- if (CZ->pzip+count > CZ->mzip) {
+ if (CZ->pzip+count > CZ->mzip)
count=CZ->mzip-CZ->pzip;
- }
memcpy(dest, CZ->kzip+CZ->pzip, count);
CZ->pzip+=count;
@@ -351,6 +333,7 @@
int fillbits( struct CZipTool *CZ, int n )
{
+ int c;
unsigned char next;
if( !zipread( CZ, &next,1 ) )
@@ -367,7 +350,7 @@
}
}
- int c = (int)(CZ->bitbuf & ((1<<n)-1));
+ c = (int)(CZ->bitbuf & ((1<<n)-1));
CZ->bitbuf >>= n;
CZ->bits_left -= n;
return c;
@@ -386,23 +369,21 @@
kwrite( CZ, dat, len);
}
-
-
void pathInit(struct CZipTool *CZ)
{
}
-
-
void pathSplit( struct CZipTool *CZ, const char* path, int* y, int* d )
{
- *y=-1, *d=-1;
const char *x;
+ *y=-1, *d=-1;
for( x=path; *x!='\0'; x++)
{
- if( *x=='\\' || *x=='/' ) *y=x-path,*d=-1;
- else if( *x=='.' ) *d=x-path;
+ if( *x=='\\' || *x=='/' )
+ *y=x-path,*d=-1;
+ else if( *x=='.' )
+ *d=x-path;
}
}
@@ -455,104 +436,102 @@
bool ReadFromZIP( struct CZipTool *CZ, char *filter, unsigned int *dsize,
unsigned char **dBuffer)
{
+ int i,j,k;
struct ZipLocalHeader hdr;
CZ->pzip=0;
CZ->pout=0;
- int i,j,k;
-
i=0;
j=CZ->zipnbrc-1;
k=0;
- if (CZ->zipnbrc<=0) {
+ if (CZ->zipnbrc<=0)
+ {
*dBuffer=NULL;
*dsize=0;
return 0;
}
- while(i<=j) {
- k=(i+j)/2;
-
- if (!MyComp(CZ->zipdirc[k].name, filter)) {
- break;
- }
-
- if (MyComp(CZ->zipdirc[k].name, filter)>0) {
- j=k-1;
- } else {
- i=k+1;
- }
- }
-
- if (!MyComp(CZ->zipdirc[k].name, filter)) {
- CZ->pzip=CZ->zipdirc[k].position;
-
- doHeader(CZ, &hdr);
+ while(i<=j)
+ {
+ k=(i+j)/2;
- CZ->kout=(unsigned char*)malloc(hdr.usz);
- CZ->pout=0;
- CZ->mout=0; // ??
+ if (!MyComp(CZ->zipdirc[k].name, filter))
+ break;
- switch( hdr.mhd )
- {
- case Stored:
- Unstore( CZ, hdr.usz, hdr.csz );
- break;
- case Deflated:
- Inflate( CZ, hdr.usz, hdr.csz );
- break;
- case Shrunk:
- Unshrink( CZ, hdr.usz, hdr.csz );
- break;
- case Reduced1:
- Unreduce( CZ, hdr.usz, hdr.csz, 1 );
- break;
- case Reduced2:
- Unreduce( CZ, hdr.usz, hdr.csz, 2 );
- break;
- case Reduced3:
- Unreduce( CZ, hdr.usz, hdr.csz, 3 );
- break;
- case Reduced4:
- Unreduce( CZ, hdr.usz, hdr.csz, 4 );
- break;
- case Imploded:
- Explode( CZ, hdr.usz, hdr.csz, 0!=(hdr.flg&0x02),
0!=((hdr.flg)&0x04) );
- break;
- }
+ if (MyComp(CZ->zipdirc[k].name, filter)>0)
+ j=k-1;
+ else
+ i=k+1;
+ }
- if (CZ->pout!=0) {
- *dBuffer=CZ->kout;
- *dsize=CZ->pout;
- } else {
- *dBuffer=NULL;
- *dsize=0;
- }
+ if (!MyComp(CZ->zipdirc[k].name, filter))
+ {
+ CZ->pzip=CZ->zipdirc[k].position;
+ doHeader(CZ, &hdr);
- } else {
- *dBuffer=NULL;
- *dsize=0;
- return false;
- }
+ CZ->kout=(unsigned char*)malloc(hdr.usz);
+ CZ->pout=0;
+ CZ->mout=0; // ??
+
+ switch( hdr.mhd )
+ {
+ case Stored:
+ Unstore( CZ, hdr.usz, hdr.csz );
+ break;
+ case Deflated:
+ Inflate( CZ, hdr.usz, hdr.csz );
+ break;
+ case Shrunk:
+ Unshrink( CZ, hdr.usz, hdr.csz );
+ break;
+ case Reduced1:
+ Unreduce( CZ, hdr.usz, hdr.csz, 1 );
+ break;
+ case Reduced2:
+ Unreduce( CZ, hdr.usz, hdr.csz, 2 );
+ break;
+ case Reduced3:
+ Unreduce( CZ, hdr.usz, hdr.csz, 3 );
+ break;
+ case Reduced4:
+ Unreduce( CZ, hdr.usz, hdr.csz, 4 );
+ break;
+ case Imploded:
+ Explode( CZ, hdr.usz, hdr.csz,
+ 0!=(hdr.flg&0x02), 0!=((hdr.flg)&0x04) );
+ break;
+ }
+
+ if (CZ->pout!=0)
+ {
+ *dBuffer=CZ->kout;
+ *dsize=CZ->pout;
+ }
+ else
+ {
+ *dBuffer=NULL;
+ *dsize=0;
+ }
+ }
+ else
+ {
+ *dBuffer=NULL;
+ *dsize=0;
+ return false;
+ }
return true;
}
-
-
-
-
-
bool read_header( struct CZipTool *CZ, struct ZipLocalHeader* hdr)
{
- if( 26 != kread(CZ, CZ->common_buf, 26) ) {
+ if( 26 != kread(CZ, CZ->common_buf, 26) )
return false;
- }
hdr->ver = ((CZ->common_buf[ 0])|(CZ->common_buf[ 1]<<8));
hdr->flg = ((CZ->common_buf[ 2])|(CZ->common_buf[ 3]<<8));
@@ -565,22 +544,18 @@
hdr->fnl = ((CZ->common_buf[22])|(CZ->common_buf[23]<<8)); // Longueur
du filename
hdr->exl = ((CZ->common_buf[24])|(CZ->common_buf[25]<<8));
- if (hdr->fnl>=256) {
+ if (hdr->fnl>=256)
return false;
- }
- if( hdr->fnl!=kread(CZ, (unsigned char*)hdr->fnm, hdr->fnl) ) { //
common_buf <- filename
+ if( hdr->fnl!=kread(CZ, (unsigned char*)hdr->fnm, hdr->fnl) ) //
common_buf <- filename
return false;
- }
hdr->fnm[hdr->fnl]=0;
- if( hdr->mhd > Deflated || hdr->mhd==Tokenized ) {
+ if( hdr->mhd > Deflated || hdr->mhd==Tokenized )
return false;
- }
- if ((hdr->exl!=0) && (hdr->exl != kread(CZ, CZ->common_buf, hdr->exl))
) {
+ if ((hdr->exl!=0) && (hdr->exl != kread(CZ, CZ->common_buf, hdr->exl)) )
return false;
- }
return true;
}
@@ -591,13 +566,12 @@
kread(CZ, key, 4);
- if ( (key[0]=='P') && (key[1]=='K') && (key[2]==0x03) && (key[3]==0x04)
) {
- int x=CZ->pzip;
- if (read_header(CZ, hdr)) {
- return true;
- }
- CZ->pzip = x;
- }
+ if ( (key[0]=='P') && (key[1]=='K') && (key[2]==0x03) && (key[3]==0x04) )
{
+ int x=CZ->pzip;
+ if (read_header(CZ, hdr))
+ return true;
+ CZ->pzip = x;
+ }
return false;
}
@@ -725,7 +699,6 @@
for( code=(1<<13); code > 255; code-- )
prefix_of[code] = -1;
for( code=0; code <256; code++ )
- // for( code=255; code >= 0; code-- )
{
prefix_of[code] = 0;
suffix_of[code] = code;