00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include <stdio.h>
00011 #include "antiword.h"
00012
00013 #if defined(DEBUG)
00014 static int iPicCounter = 0;
00015 #endif
00016
00017
00018 #if defined(DEBUG)
00019
00020
00021
00022 static void
00023 vCopy2File(FILE *pFile, ULONG ulFileOffset, size_t tPictureLen)
00024 {
00025 FILE *pOutFile;
00026 size_t tIndex;
00027 int iTmp;
00028 char szFilename[30];
00029
00030 if (!bSetDataOffset(pFile, ulFileOffset)) {
00031 return;
00032 }
00033
00034 sprintf(szFilename, "/tmp/pic/pic%04d.jpg", ++iPicCounter);
00035 pOutFile = fopen(szFilename, "wb");
00036 if (pOutFile == NULL) {
00037 return;
00038 }
00039 for (tIndex = 0; tIndex < tPictureLen; tIndex++) {
00040 iTmp = iNextByte(pFile);
00041 if (putc(iTmp, pOutFile) == EOF) {
00042 break;
00043 }
00044 }
00045 (void)fclose(pOutFile);
00046 }
00047 #endif
00048
00049
00050
00051
00052
00053
00054
00055
00056 BOOL
00057 bTranslateJPEG(diagram_type *pDiag, FILE *pFile,
00058 ULONG ulFileOffset, size_t tPictureLen, const imagedata_type *pImg)
00059 {
00060 #if defined(DEBUG)
00061 vCopy2File(pFile, ulFileOffset, tPictureLen);
00062 #endif
00063
00064
00065 if (!bSetDataOffset(pFile, ulFileOffset)) {
00066 return FALSE;
00067 }
00068
00069 vImagePrologue(pDiag, pImg);
00070 vASCII85EncodeFile(pFile, pDiag->pOutFile, tPictureLen);
00071 vImageEpilogue(pDiag);
00072
00073 return TRUE;
00074 }