mirror of
https://github.com/simon987/antiword.git
synced 2025-04-16 22:36:42 +00:00
76 lines
1.6 KiB
C
76 lines
1.6 KiB
C
/*
|
|
* doclist.c
|
|
* Copyright (C) 2004 A.J. van Os; Released under GNU GPL
|
|
*
|
|
* Description:
|
|
* Build, read and destroy list(s) of Word document information
|
|
*
|
|
* Note:
|
|
* There is no real list there is always one document per document
|
|
*/
|
|
|
|
#include "antiword.h"
|
|
|
|
#define HALF_INCH 36000L /* In millipoints */
|
|
|
|
/* Variables needed to write the Document Information List */
|
|
static document_block_type *pAnchor = NULL;
|
|
static document_block_type tInfo;
|
|
|
|
|
|
/*
|
|
* vDestroyDocumentInfoList - destroy the Document Information List
|
|
*/
|
|
void
|
|
vDestroyDocumentInfoList(void)
|
|
{
|
|
DBG_MSG("vDestroyDocumentInfoList");
|
|
|
|
pAnchor = NULL;
|
|
} /* end of vDestoryDocumentInfoList */
|
|
|
|
/*
|
|
* vCreateDocumentInfoList - create the Document Information List
|
|
*/
|
|
void
|
|
vCreateDocumentInfoList(const document_block_type *pDocument)
|
|
{
|
|
fail(pDocument == NULL);
|
|
fail(pAnchor != NULL);
|
|
|
|
tInfo = *pDocument;
|
|
pAnchor = &tInfo;
|
|
} /* end of vCreateDocumentInfoList */
|
|
|
|
/*
|
|
* lGetDefaultTabWidth - get the default tabwidth in millipoints
|
|
*/
|
|
long
|
|
lGetDefaultTabWidth(void)
|
|
{
|
|
long lDefaultTabWidth;
|
|
USHORT usTmp;
|
|
|
|
if (pAnchor == NULL) {
|
|
DBG_FIXME();
|
|
return HALF_INCH;
|
|
}
|
|
usTmp = pAnchor->usDefaultTabWidth;
|
|
lDefaultTabWidth = usTmp == 0 ? HALF_INCH : lTwips2MilliPoints(usTmp);
|
|
NO_DBG_DEC(lDefaultTabWidth);
|
|
return lDefaultTabWidth;
|
|
} /* end of lGetDefaultTabWidth */
|
|
|
|
/*
|
|
* ucGetDopHdrFtrSpecification - get the Heder/footer specification
|
|
*/
|
|
UCHAR
|
|
ucGetDopHdrFtrSpecification(void)
|
|
{
|
|
if (pAnchor == NULL) {
|
|
DBG_FIXME();
|
|
return 0x00;
|
|
}
|
|
return pAnchor->ucHdrFtrSpecification;
|
|
} /* end of ucGetDopHdrFtrSpecification */
|