/* DEC DivideAscii(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 * Divides ConvAsciiToDecimal(pSrc1)/ConvAsciiToDecimal(pSrc2) * = pDst DEC structure. * * SIDE EFFECTS * On error, the value of 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_CNVRE * GM_CNVRW * GM_NAN * GM_OVERFLOW * GM_UNDERFLOW * GM_DIV0 * * AUTHOR * Andy Anderson 20-Feb-87 17:40 * Copyright (C) 1987-1990 Greenleaf Software Inc. All rights reserved. * * MODIFICATIONS * */ #include #include "gm.h" #include "gmsystem.h" DEC *DivideAscii(pDst,pSrc1,pSrc2) DEC *pDst; char *pSrc1,*pSrc2; { DEC tp1,tp2; DEC *ps1,*ps2,*pd; _MacStart(GM_DIVSTR); _MacOutVar(pDst,GM_NULL); ps1=&tp1; ps2=&tp2; /* convert ascii arguments to DEC */ ps1=ConvAsciiToDecimal(ps1,pSrc1); if (!ps1) _MacRet(GM_NULL); ps2=ConvAsciiToDecimal(ps2,pSrc2); if (!ps2) _MacRet(GM_NULL); /* then do the divide */ pd = DivideDecimal(pDst,ps1,ps2); _MacRet(pd); }