diff options
Diffstat (limited to 'src/TMstate.c')
-rw-r--r-- | src/TMstate.c | 71 |
1 files changed, 34 insertions, 37 deletions
diff --git a/src/TMstate.c b/src/TMstate.c index 7a5a04d..8dbf054 100644 --- a/src/TMstate.c +++ b/src/TMstate.c @@ -123,20 +123,20 @@ GetBranchHead(TMParseStateTree parseTree, } } if (parseTree->numBranchHeads == parseTree->branchHeadTblSize) { - TMShortCard newSize; if (parseTree->branchHeadTblSize == 0) parseTree->branchHeadTblSize = TM_BRANCH_HEAD_TBL_ALLOC; else parseTree->branchHeadTblSize += TM_BRANCH_HEAD_TBL_REALLOC; - newSize = - (TMShortCard) (parseTree->branchHeadTblSize * - sizeof(TMBranchHeadRec)); + if (parseTree->isStackBranchHeads) { TMBranchHead oldBranchHeadTbl = parseTree->branchHeadTbl; - parseTree->branchHeadTbl = (TMBranchHead) __XtMalloc(newSize); - memcpy(parseTree->branchHeadTbl, oldBranchHeadTbl, newSize); + parseTree->branchHeadTbl = + XtMallocArray((Cardinal) parseTree->branchHeadTblSize, + (Cardinal) sizeof(TMBranchHeadRec)); + memcpy(parseTree->branchHeadTbl, oldBranchHeadTbl, + parseTree->branchHeadTblSize * sizeof(TMBranchHeadRec)); parseTree->isStackBranchHeads = False; } else { @@ -174,20 +174,20 @@ _XtGetQuarkIndex(TMParseStateTree parseTree, XrmQuark quark) if (i == parseTree->numQuarks) { if (parseTree->numQuarks == parseTree->quarkTblSize) { - TMShortCard newSize; if (parseTree->quarkTblSize == 0) parseTree->quarkTblSize = TM_QUARK_TBL_ALLOC; else parseTree->quarkTblSize += TM_QUARK_TBL_REALLOC; - newSize = - (TMShortCard) (parseTree->quarkTblSize * sizeof(XrmQuark)); if (parseTree->isStackQuarks) { XrmQuark *oldquarkTbl = parseTree->quarkTbl; - parseTree->quarkTbl = (XrmQuark *) __XtMalloc(newSize); - memcpy(parseTree->quarkTbl, oldquarkTbl, newSize); + parseTree->quarkTbl = + XtMallocArray((Cardinal) parseTree->quarkTblSize, + (Cardinal) sizeof(XrmQuark)); + memcpy(parseTree->quarkTbl, oldquarkTbl, + parseTree->quarkTblSize * sizeof(XrmQuark)); parseTree->isStackQuarks = False; } else { @@ -215,8 +215,6 @@ GetComplexBranchIndex(TMParseStateTree parseTree, #define TM_COMPLEXBRANCH_HEAD_TBL_REALLOC 4 if (parseTree->numComplexBranchHeads == parseTree->complexBranchHeadTblSize) { - TMShortCard newSize; - if (parseTree->complexBranchHeadTblSize == 0) parseTree->complexBranchHeadTblSize = (TMShortCard) (parseTree->complexBranchHeadTblSize + @@ -226,16 +224,14 @@ GetComplexBranchIndex(TMParseStateTree parseTree, (TMShortCard) (parseTree->complexBranchHeadTblSize + TM_COMPLEXBRANCH_HEAD_TBL_REALLOC); - newSize = - (TMShortCard) (parseTree->complexBranchHeadTblSize * - sizeof(StatePtr)); - if (parseTree->isStackComplexBranchHeads) { StatePtr *oldcomplexBranchHeadTbl = parseTree->complexBranchHeadTbl; - parseTree->complexBranchHeadTbl = (StatePtr *) __XtMalloc(newSize); - memcpy(parseTree->complexBranchHeadTbl, - oldcomplexBranchHeadTbl, newSize); + parseTree->complexBranchHeadTbl = + XtMallocArray((Cardinal) parseTree->complexBranchHeadTblSize, + (Cardinal) sizeof(StatePtr)); + memcpy(parseTree->complexBranchHeadTbl, oldcomplexBranchHeadTbl, + parseTree->complexBranchHeadTblSize * sizeof(StatePtr)); parseTree->isStackComplexBranchHeads = False; } else { @@ -285,8 +281,8 @@ _XtGetTypeIndex(Event *event) (Cardinal) sizeof(TMTypeMatch)); } _XtGlobalTM.typeMatchSegmentTbl[_XtGlobalTM.numTypeMatchSegments++] = - segment = (TMTypeMatch) - __XtMalloc(TM_TYPE_SEGMENT_SIZE * sizeof(TMTypeMatchRec)); + segment = XtMallocArray(TM_TYPE_SEGMENT_SIZE, + (Cardinal) sizeof(TMTypeMatchRec)); j = 0; } typeMatch = &segment[j]; @@ -387,8 +383,8 @@ _XtGetModifierIndex(Event *event) (Cardinal) sizeof(TMModifierMatch)); } _XtGlobalTM.modMatchSegmentTbl[_XtGlobalTM.numModMatchSegments++] = - segment = (TMModifierMatch) - __XtMalloc(TM_MOD_SEGMENT_SIZE * sizeof(TMModifierMatchRec)); + segment = XtMallocArray(TM_MOD_SEGMENT_SIZE, + (Cardinal) sizeof(TMModifierMatchRec)); j = 0; } modMatch = &segment[j]; @@ -1402,19 +1398,18 @@ TMStateTree _XtParseTreeToStateTree(TMParseStateTree parseTree) { TMSimpleStateTree simpleTree; - unsigned int tableSize; if (parseTree->numComplexBranchHeads) { TMComplexStateTree complexTree; complexTree = XtNew(TMComplexStateTreeRec); complexTree->isSimple = False; - tableSize = - (unsigned) (parseTree->numComplexBranchHeads * sizeof(StatePtr)); - complexTree->complexBranchHeadTbl = (StatePtr *) - __XtMalloc(tableSize); + complexTree->complexBranchHeadTbl = + XtMallocArray((Cardinal) parseTree->numComplexBranchHeads, + (Cardinal) sizeof(StatePtr)); memcpy(complexTree->complexBranchHeadTbl, - parseTree->complexBranchHeadTbl, tableSize); + parseTree->complexBranchHeadTbl, + parseTree->numComplexBranchHeads * sizeof(StatePtr)); complexTree->numComplexBranchHeads = parseTree->numComplexBranchHeads; simpleTree = (TMSimpleStateTree) complexTree; } @@ -1426,15 +1421,17 @@ _XtParseTreeToStateTree(TMParseStateTree parseTree) simpleTree->refCount = 0; simpleTree->mappingNotifyInterest = parseTree->mappingNotifyInterest; - tableSize = - (unsigned) (parseTree->numBranchHeads * sizeof(TMBranchHeadRec)); - simpleTree->branchHeadTbl = (TMBranchHead) __XtMalloc(tableSize); - memcpy(simpleTree->branchHeadTbl, parseTree->branchHeadTbl, tableSize); + simpleTree->branchHeadTbl = + XtMallocArray((Cardinal) parseTree->numBranchHeads, + (Cardinal) sizeof(TMBranchHeadRec)); + memcpy(simpleTree->branchHeadTbl, parseTree->branchHeadTbl, + parseTree->numBranchHeads * sizeof(TMBranchHeadRec)); simpleTree->numBranchHeads = parseTree->numBranchHeads; - tableSize = (unsigned) (parseTree->numQuarks * sizeof(XrmQuark)); - simpleTree->quarkTbl = (XrmQuark *) __XtMalloc(tableSize); - memcpy(simpleTree->quarkTbl, parseTree->quarkTbl, tableSize); + simpleTree->quarkTbl = XtMallocArray((Cardinal) parseTree->numQuarks, + (Cardinal) sizeof(XrmQuark)); + memcpy(simpleTree->quarkTbl, parseTree->quarkTbl, + parseTree->numQuarks * sizeof(XrmQuark)); simpleTree->numQuarks = parseTree->numQuarks; return (TMStateTree) simpleTree; |