Commit 18adb421 authored by Elen.Subbotina's avatar Elen.Subbotina Committed by Alexander Trofimov

PdfWriter with JBig2 linux build

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@62538 954022d7-b5bf-4e40-9824-e11837661b57
parent c790d7af
......@@ -69,7 +69,157 @@ SOURCES += \
../../../Common/DocxFormat/Source/Base/unicode_util.cpp \
../../../ASCOfficePPTXFile/Editor/FontPicker.cpp \
../../../DesktopEditor/fontengine/ApplicationFonts.cpp \
../../../DesktopEditor/fontengine/FontManager.cpp
../../../DesktopEditor/fontengine/FontManager.cpp \
../../../DesktopEditor/raster/JBig2/source/JBig2File.cpp \
../../../DesktopEditor/raster/JBig2/source/Encoder/jbig2arith.cpp \
../../../DesktopEditor/raster/JBig2/source/Encoder/jbig2enc.cpp \
../../../DesktopEditor/raster/JBig2/source/Encoder/jbig2sym.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/adaptmap.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/affine.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/affinecompose.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/arithlow.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/arrayaccess.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/bardecode.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/baseline.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/bbuffer.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/bilinear.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/binarize.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/binexpand.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/binexpandlow.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/binreduce.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/binreducelow.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/blend.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/bmf.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/bmpio.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/bmpiostub.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/boxbasic.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/boxfunc1.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/boxfunc2.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/boxfunc3.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/ccbord.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/ccthin.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/classapp.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/colorcontent.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/colormap.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/colormorph.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/colorquant1.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/colorquant2.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/colorseg.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/compare.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/conncomp.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/convertfiles.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/convolve.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/convolvelow.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/correlscore.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/dewarp.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/dwacomb.2.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/dwacomblow.2.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/edge.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/enhance.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/fhmtauto.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/fhmtgen.1.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/fhmtgenlow.1.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/finditalic.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/flipdetect.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/fliphmtgen.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/fmorphauto.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/fmorphgen.1.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/fmorphgenlow.1.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/fpix1.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/fpix2.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/freetype.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/gifio.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/gifiostub.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/gplot.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/graphics.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/graymorph.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/graymorphlow.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/grayquant.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/grayquantlow.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/heap.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/jbclass.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/jpegio.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/jpegiostub.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/kernel.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/list.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/maze.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/morph.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/morphapp.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/morphdwa.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/morphseq.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/numabasic.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/numafunc1.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/numafunc2.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pageseg.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/paintcmap.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/parseprotos.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/partition.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pix1.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pix2.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pix3.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pix4.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pix5.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pixabasic.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pixacc.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pixafunc1.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pixafunc2.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pixalloc.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pixarith.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pixcomp.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pixconv.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pixtiling.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pngio.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pngiostub.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pnmio.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pnmiostub.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/projective.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/psio1.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/psio1stub.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/psio2.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/psio2stub.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/ptabasic.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/ptafunc1.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/ptra.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/queue.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/rank.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/readbarcode.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/readfile.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/regutils.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/rop.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/ropiplow.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/roplow.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/rotate.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/rotateam.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/rotateamlow.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/rotateorth.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/rotateorthlow.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/rotateshear.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/runlength.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/sarray.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/scale.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/scalelow.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/seedfill.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/seedfilllow.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/sel1.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/sel2.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/selgen.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/shear.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/skew.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/spixio.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/stack.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/sudoku.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/textops.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/tiffio.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/tiffiostub.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/utils.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/viewfiles.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/warper.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/watershed.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/webpio.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/webpiostub.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/writefile.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/zlibmem.cpp \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/zlibmemstub.cpp
HEADERS += \
../Catalog.h \
......@@ -110,7 +260,43 @@ HEADERS += \
../OnlineOfficeBinToPdf.h \
../EncoderConstants.h \
../Consts.h \
../Types.h
../Types.h \
../../../DesktopEditor/raster/JBig2/source/JBig2File.h \
../../../DesktopEditor/raster/JBig2/source/Utils.h \
../../../DesktopEditor/raster/JBig2/source/Encoder/jbig2arith.h \
../../../DesktopEditor/raster/JBig2/source/Encoder/jbig2enc.h \
../../../DesktopEditor/raster/JBig2/source/Encoder/jbig2encoder.h \
../../../DesktopEditor/raster/JBig2/source/Encoder/jbig2segments.h \
../../../DesktopEditor/raster/JBig2/source/Encoder/jbig2structs.h \
../../../DesktopEditor/raster/JBig2/source/Encoder/jbig2sym.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/additionaltypes.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/allheaders.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/alltypes.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/array.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/arrayaccess.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/bbuffer.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/bmf.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/bmp.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/ccbord.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/dewarp.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/endianness.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/environ.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/freetype.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/funcprotos.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/gplot.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/heap.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/imageio.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/jbclass.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/list.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/morph.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/pix.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/ptra.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/queue.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/readbarcode.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/regutils.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/stack.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/sudoku.h \
../../../DesktopEditor/raster/JBig2/source/LeptonLib/watershed.h
unix {
target.path = /usr/lib
INSTALLS += target
......
......@@ -808,7 +808,7 @@ CString RtfCharProperty::RenderToOOX(RenderParameter oRenderParameter)
sResult.Append( m_poShading.RenderToOOX( oRenderParameter ));
return sResult;
}
#include <langinfo.h>
CString RtfListLevelProperty::RenderToRtf(RenderParameter oRenderParameter)
{
RtfDocument* poRtfDocument = static_cast<RtfDocument*>( oRenderParameter.poDocument);
......
......@@ -432,8 +432,7 @@ SOURCES += \
../../../cximage/CxImage/ximawmf.cpp \
../../../cximage/CxImage/ximawnd.cpp \
../../../cximage/CxImage/xmemfile.cpp \
../../../raster/BgraFrame.cpp \
../../../raster/ImageFileFormatChecker.cpp
../../../raster/BgraFrame.cpp
HEADERS += \
../../../graphics/AggPlusEnums.h \
......
......@@ -114,7 +114,7 @@ jbig2enc_init(struct jbig2enc_ctx *ctx) {
ctx->bp = -1;
ctx->b = 0;
ctx->outbuf_used = 0;
ctx->outbuf = (u8 *) malloc(JBIG2_OUTPUTBUFFER_SIZE);
ctx->outbuf = (u8 *) new u8 [JBIG2_OUTPUTBUFFER_SIZE];
ctx->output_chunks = new std::vector<uint8_t *>;
ctx->iaidctx = NULL;
}
......@@ -127,7 +127,7 @@ jbig2enc_reset(struct jbig2enc_ctx *ctx) {
ctx->ct = 12;
ctx->bp = -1;
ctx->b = 0;
free(ctx->iaidctx);
delete []ctx->iaidctx;
ctx->iaidctx = NULL;
memset(ctx->context, 0, JBIG2_MAX_CTX);
memset(ctx->intctx, 0, 13 * 512);
......@@ -139,8 +139,9 @@ jbig2enc_flush(struct jbig2enc_ctx *ctx) {
ctx->outbuf_used = 0;
for (std::vector<uint8_t *>::iterator i = ctx->output_chunks->begin();
i != ctx->output_chunks->end(); ++i) {
free(*i);
i != ctx->output_chunks->end(); ++i)
{
delete [](*i);
}
ctx->output_chunks->clear();
ctx->bp = -1;
......@@ -150,12 +151,14 @@ jbig2enc_flush(struct jbig2enc_ctx *ctx) {
void
jbig2enc_dealloc(struct jbig2enc_ctx *ctx) {
for (std::vector<uint8_t *>::iterator i = ctx->output_chunks->begin();
i != ctx->output_chunks->end(); ++i) {
free(*i);
i != ctx->output_chunks->end(); ++i)
{
delete [](*i);
}
delete ctx->output_chunks;
free(ctx->outbuf);
free(ctx->iaidctx);
delete []ctx->outbuf;
delete []ctx->iaidctx;
}
// -----------------------------------------------------------------------------
......@@ -166,7 +169,7 @@ static void inline
emit(struct jbig2enc_ctx *restrict ctx) {
if (unlikely(ctx->outbuf_used == JBIG2_OUTPUTBUFFER_SIZE)) {
ctx->output_chunks->push_back(ctx->outbuf);
ctx->outbuf = (u8 *) malloc(JBIG2_OUTPUTBUFFER_SIZE);
ctx->outbuf = new u8[JBIG2_OUTPUTBUFFER_SIZE];
ctx->outbuf_used = 0;
}
......@@ -359,11 +362,12 @@ jbig2enc_oob(struct jbig2enc_ctx *restrict ctx, int proc) {
// see comments in .h file
void
jbig2enc_int(struct jbig2enc_ctx *restrict ctx, int proc, int value) {
jbig2enc_int(struct jbig2enc_ctx *restrict ctx, int proc, int value)
{
u8 *const context = ctx->intctx[proc];
int i;
if (value > 2000000000 || value < -2000000000) abort();
// if (value > 2000000000 || value < -2000000000) assert();
u32 prev = 1;
......@@ -404,10 +408,12 @@ jbig2enc_int(struct jbig2enc_ctx *restrict ctx, int proc, int value) {
// see comments in .h file
void
jbig2enc_iaid(struct jbig2enc_ctx *restrict ctx, int symcodelen, int value) {
if (!ctx->iaidctx) {
jbig2enc_iaid(struct jbig2enc_ctx *restrict ctx, int symcodelen, int value)
{
if (!ctx->iaidctx)
{
// we've not yet allocated the context index buffer for this
ctx->iaidctx = (u8 *) malloc(1 << symcodelen);
ctx->iaidctx = (u8 *) new u8[1 << symcodelen];
memset(ctx->iaidctx, 0, 1 << symcodelen);
}
const u32 mask = (1 << (symcodelen + 1)) - 1;
......
......@@ -286,7 +286,8 @@ jbig2_pages_complete(struct jbig2ctx *ctx, int *const length) {
jbig2enc_init(&ectx);
struct jbig2_file_header header;
if (ctx->full_headers) {
if (ctx->full_headers)
{
memset(&header, 0, sizeof(header));
header.n_pages = htonl(ctx->classer->npages);
header.organisation_type = 1;
......
......@@ -11,7 +11,8 @@
#include "../LeptonLib/allheaders.h"
#include "../LeptonLib/pix.h"
#include "jbig2enc.h"
#include "io.h"
#include "../../../Common/DocxFormat/Source/SystemUtility/File.h"
#if defined(_WIN32) || defined (_WIN64)
// -----------------------------------------------------------------------------
......
......@@ -11,6 +11,8 @@
#include <netinet/in.h>
#endif
#include <string.h>
// -----------------------------------------------------------------------------
// See comments in jbig2structs.h about the bit packing in this structure.
// -----------------------------------------------------------------------------
......
......@@ -130,11 +130,11 @@ bool CJBig2File::MemoryToJBig2(unsigned char* pBufferBGRA ,int BufferSize, int n
uint8_t *pBuffer = jbig2_encode_generic( pPixT, !m_bPDFMode, 0, 0, m_bDuplicateLineRemoval, &nLength );
bool bRes = true;
FILE *pFile = _wfopen( sDstFileName.c_str(), _T("wb") );
if ( pFile && pBuffer )
CFile file;
if (file.CreateFile(sDstFileName.c_str() ) == S_OK )
{
::fwrite( pBuffer, nLength, 1, pFile );
::fclose( pFile );
file.WriteFile(pBuffer, nLength);
file.CloseFile();
bRes = true;
}
else
......@@ -162,16 +162,16 @@ bool CJBig2File::MemoryToJBig2(unsigned char* pBufferBGRA ,int BufferSize, int n
if ( m_bPDFMode )
{
std::wstring sFileName = sDstFileName;//m_sBaseName + _T(".sym");
const int nFileD = _wopen( sFileName.c_str(), O_WRONLY | O_TRUNC | O_CREAT /*| WINBINARY*/, 0600 );
if ( nFileD < 0 )
CFile file;
if ( file.CreateFile(sFileName.c_str()) != S_OK)
{
free( pBuffer );
jbig2_destroy( pContext );
return false;
}
write( nFileD, pBuffer, nLength );
close( nFileD );
file.WriteFile( pBuffer, nLength );
file.CloseFile();
}
free( pBuffer );
......@@ -181,16 +181,16 @@ bool CJBig2File::MemoryToJBig2(unsigned char* pBufferBGRA ,int BufferSize, int n
if ( m_bPDFMode )
{
std::wstring sFileName = m_sBaseName + _T(".0000");
const int nFileD = _wopen( sFileName.c_str(), O_WRONLY | O_TRUNC | O_CREAT /*| WINBINARY*/, 0600 );
CFile file;
if ( nFileD < 0 )
if ( file.CreateFile(sFileName.c_str()) != S_OK)
{
free( pBuffer );
jbig2_destroy( pContext );
return false;
}
write( nFileD, pBuffer, nLength );
close( nFileD );
file.WriteFile( pBuffer, nLength );
file.CloseFile();
}
free( pBuffer );
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment