mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-08 08:07:06 -06:00
19.00
This commit is contained in:
@@ -107,7 +107,7 @@ bool ReadNamesFromListFile2(CFSTR fileName, UStringVector &strings, UINT codePag
|
||||
}
|
||||
|
||||
const wchar_t kGoodBOM = 0xFEFF;
|
||||
const wchar_t kBadBOM = 0xFFFE;
|
||||
// const wchar_t kBadBOM = 0xFFFE;
|
||||
|
||||
UString s;
|
||||
unsigned i = 0;
|
||||
@@ -115,8 +115,10 @@ bool ReadNamesFromListFile2(CFSTR fileName, UStringVector &strings, UINT codePag
|
||||
for (; i < u.Len(); i++)
|
||||
{
|
||||
wchar_t c = u[i];
|
||||
/*
|
||||
if (c == kGoodBOM || c == kBadBOM)
|
||||
return false;
|
||||
*/
|
||||
if (c == '\n' || c == 0xD)
|
||||
{
|
||||
AddName(strings, s);
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
#include "../../C/Alloc.h"
|
||||
|
||||
#include "Defs.h"
|
||||
#include "MyTypes.h"
|
||||
|
||||
class CMidBuffer
|
||||
{
|
||||
@@ -15,7 +15,7 @@ class CMidBuffer
|
||||
CLASS_NO_COPY(CMidBuffer)
|
||||
|
||||
public:
|
||||
CMidBuffer(): _data(NULL), _size(0) {};
|
||||
CMidBuffer(): _data(NULL), _size(0) {}
|
||||
~CMidBuffer() { ::MidFree(_data); }
|
||||
|
||||
void Free() { ::MidFree(_data); _data = NULL; _size = 0; }
|
||||
@@ -29,12 +29,12 @@ public:
|
||||
{
|
||||
if (!_data || size > _size)
|
||||
{
|
||||
::MidFree(_data);
|
||||
const size_t kMinSize = (size_t)1 << 16;
|
||||
if (size < kMinSize)
|
||||
size = kMinSize;
|
||||
::MidFree(_data);
|
||||
_size = 0;
|
||||
_data = 0;
|
||||
_data = NULL;
|
||||
_data = (Byte *)::MidAlloc(size);
|
||||
if (_data)
|
||||
_size = size;
|
||||
@@ -42,4 +42,59 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
class CAlignedBuffer
|
||||
{
|
||||
Byte *_data;
|
||||
size_t _size;
|
||||
|
||||
CLASS_NO_COPY(CAlignedBuffer)
|
||||
|
||||
public:
|
||||
CAlignedBuffer(): _data(NULL), _size(0) {}
|
||||
~CAlignedBuffer()
|
||||
{
|
||||
ISzAlloc_Free(&g_AlignedAlloc, _data);
|
||||
}
|
||||
|
||||
void Free()
|
||||
{
|
||||
ISzAlloc_Free(&g_AlignedAlloc, _data);
|
||||
_data = NULL;
|
||||
_size = 0;
|
||||
}
|
||||
|
||||
bool IsAllocated() const { return _data != NULL; }
|
||||
operator Byte *() { return _data; }
|
||||
operator const Byte *() const { return _data; }
|
||||
size_t Size() const { return _size; }
|
||||
|
||||
void Alloc(size_t size)
|
||||
{
|
||||
if (!_data || size != _size)
|
||||
{
|
||||
ISzAlloc_Free(&g_AlignedAlloc, _data);
|
||||
_size = 0;
|
||||
_data = NULL;
|
||||
_data = (Byte *)ISzAlloc_Alloc(&g_AlignedAlloc, size);
|
||||
if (_data)
|
||||
_size = size;
|
||||
}
|
||||
}
|
||||
|
||||
void AllocAtLeast(size_t size)
|
||||
{
|
||||
if (!_data || size > _size)
|
||||
{
|
||||
ISzAlloc_Free(&g_AlignedAlloc, _data);
|
||||
_size = 0;
|
||||
_data = NULL;
|
||||
_data = (Byte *)ISzAlloc_Alloc(&g_AlignedAlloc, size);
|
||||
if (_data)
|
||||
_size = size;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user