mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-07-30 07:44:13 +02:00
e4b4ba875b
Replaces the QProcess->7z shim with the public-domain LZMA SDK (23.01) 7-Zip reader, vendored under sources/import/edz/lzma/ (decode-only subset). New edzsevenzip.cpp wraps SzArEx_Open/SzArEx_Extract and writes entries via Qt, so EdzArchive no longer needs an external 7-Zip at runtime. Enables the C language in CMake for the vendored sources. Verified: the bundled decoder extracts all three ifm sample .edz and the generated elements still match the Python oracle exactly (byte-correct decode), with no 7z on the path. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
37 lines
530 B
C
37 lines
530 B
C
/* 7zBuf.c -- Byte Buffer
|
|
2017-04-03 : Igor Pavlov : Public domain */
|
|
|
|
#include "Precomp.h"
|
|
|
|
#include "7zBuf.h"
|
|
|
|
void Buf_Init(CBuf *p)
|
|
{
|
|
p->data = 0;
|
|
p->size = 0;
|
|
}
|
|
|
|
int Buf_Create(CBuf *p, size_t size, ISzAllocPtr alloc)
|
|
{
|
|
p->size = 0;
|
|
if (size == 0)
|
|
{
|
|
p->data = 0;
|
|
return 1;
|
|
}
|
|
p->data = (Byte *)ISzAlloc_Alloc(alloc, size);
|
|
if (p->data)
|
|
{
|
|
p->size = size;
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
void Buf_Free(CBuf *p, ISzAllocPtr alloc)
|
|
{
|
|
ISzAlloc_Free(alloc, p->data);
|
|
p->data = 0;
|
|
p->size = 0;
|
|
}
|