/* DEC *MultiplyAscii(pDst,pSrc1,pSrc2) * * ARGUMENT * pDst is a poiter to the destination DEC structure * pSrc1 is a pointer to source1 ASCII string * pSrc2 is a pointer to source2 ASCII string * * DESCRIPTION * Multiplies the value in pSrc1 (ASCII) to the value in pSrc2 (ASCII) * and puts the result in pDst DEC structure * * SIDE EFFECTS * On error, the dest structure is undetermined. * * RETURNS * Returns a pointer to the dest structure on success, * otherwise returns a GM_NULL(a C false). On error, the error * is in wGMError, unless an error was already there. * * POSSIBLE ERROR CODES * * GM_NULLSTRING * GM_NOMEMORY * GM_CNVRE * GM_CNVRW * GM_NAN * GM_OVERFLOW * GM_UNDERFLOW * * AUTHOR * Andy Anderson 20-Feb-87 * Copyright (C) 1987-1990 Greenleaf Software Inc. All rights reserved. * * MODIFICATIONS * * */ #include #include "gm.h" #include "gmsystem.h" DEC *MultiplyAscii(pDst,pSrc1,pSrc2) DEC *pDst; char *pSrc1,*pSrc2; { DEC dtmp1,dtmp2; DEC *ps1,*ps2,*pd; _MacStart(GM_MULSTR); ps1=&dtmp1; ps2=&dtmp2; /* convert ascii to DEC */ ps1=ConvAsciiToDecimal(ps1,pSrc1); if (!ps1) _MacRet(GM_NULL); ps2=ConvAsciiToDecimal(ps2,pSrc2); if (!ps2) _MacRet(GM_NULL); pd = MultiplyDecimal(pDst,ps1,ps2); _MacRet(pd); }