11#define EF_UNIPATH 0x7075
12#define EF_HEADER_SIZE 4
13#define EF_UNIPATH_VERSION 1
47 const BYTE* extraField,
56 const BYTE* pbField = extraField;
57 const BYTE* pbEnd = extraField + extraFieldLen;
62 WORD fieldId, fieldSize;
63 CopyMemory(&fieldId, pbField,
sizeof(fieldId));
64 CopyMemory(&fieldSize, pbField + 2,
sizeof(fieldSize));
72 if (fieldSize < 5 || pbField + EF_HEADER_SIZE + fieldSize > pbEnd)
81 CopyMemory(&storedCRC, fieldData + 1,
sizeof(storedCRC));
82 if (storedCRC != calculatedCRC)
85 DWORD utf8NameLen = fieldSize - 5;
126 if (
info.size_file_extra > 0)
136 name.Replace(
'\\',
'/');
151 INT ichSlash = tmp.
Find(
L'/', cchPrefix);
153 tmp =
name = (
folder ? tmp.
Mid(cchPrefix, ichSlash - cchPrefix) : tmp.
Mid(cchPrefix));
157 if (!
name.IsEmpty() && !it)
#define EF_UNIPATH_VERSION
POSITION AddTail(INARGTYPE element)
POSITION Find(INARGTYPE element, _In_opt_ POSITION posStartAfter=NULL) const
int GetAllocLength() const noexcept
void ReleaseBuffer(_In_ int nNewLength=-1)
int GetLength() const noexcept
int Find(_In_ PCXSTR pszSub, _In_opt_ int iStart=0) const noexcept
CStringT Mid(int iFirst, int nCount) const
#define MINIZIP_UTF8_FLAG
INT WINAPI StrCmpNIW(LPCWSTR lpszStr, LPCWSTR lpszComp, INT iLen)
#define crc32(crc, buf, len)
static const WCHAR version[]
_ACRTIMP size_t __cdecl wcslen(const wchar_t *)
_ACRTIMP size_t __cdecl strlen(const char *)
GLenum GLuint GLenum GLsizei const GLchar * buf
BOOL NextUnique(PCWSTR prefix, CStringW &name, bool &folder, unz_file_info64 &info)
static CStringA GetUtf8Name(PCSTR originalName, const BYTE *extraField, DWORD extraFieldLen)
BOOL Next(CStringW &name, unz_file_info64 &info)
static DWORD CalculateCRC32(PCSTR filename)
BOOL Initialize(IZip *zip)
CAtlList< CStringW > m_Returned
Character const *const prefix
int ZEXPORT unzGetCurrentFileInfo64(unzFile file, unz_file_info64 *pfile_info, char *szFileName, uLong fileNameBufferSize, void *extraField, uLong extraFieldBufferSize, char *szComment, uLong commentBufferSize)
int ZEXPORT unzGoToFirstFile(unzFile file)
int ZEXPORT unzGoToNextFile(unzFile file)
#define UNZ_END_OF_LIST_OF_FILE