21 #if !defined(ZIPARCHIVE_ZIPSPLITNAMESHANDLER_DOT_H)
22 #define ZIPARCHIVE_ZIPSPLITNAMESHANDLER_DOT_H
26 #pragma warning( push )
27 #pragma warning (disable : 4100) // unreferenced formal parameter
30 #include "_features.h"
31 #include "ZipString.h"
70 virtual void Initialize(
const CZipString& szArchiveName)
87 virtual CZipString GetVolumeName(
const CZipString& szArchiveName, ZIP_VOLUME_TYPE uCurrentVolume,
ZipArchiveLib::CBitFlag flags)
const = 0;
102 virtual ZIP_VOLUME_TYPE GetVolumeNumber(
const CZipString& szVolumePath)
const
143 if (uCurrentVolume < 100)
144 szExt.Format(_T(
"z%.2u"), uCurrentVolume);
146 szExt.Format(_T(
"z%u"), uCurrentVolume);
166 if (uCurrentVolume < 1000)
167 szExt.Format(_T(
"%.3u"), uCurrentVolume);
169 szExt.Format(_T(
"%u"), uCurrentVolume);
178 return szArchiveName + _T(
".") + szExt;
187 if (szExt.GetLength() < 3)
190 #if !defined __GNUC__ || defined __MINGW32__
191 ret = _ttoi64((LPCTSTR)szExt);
195 ret = (__int64)wcstoll((LPCTSTR)szExt, NULL, 10);
197 ret = (__int64)strtoll((LPCTSTR)szExt, NULL, 10);
202 return (ZIP_VOLUME_TYPE)((ret <= 0 || ret > UINT_MAX) ? 0 : ret);
207 #pragma warning( pop )