campo-sirio/gfm/addstr.c

70 lines
1.2 KiB
C
Raw Normal View History

/* DEC
* AddAscii(pDst,pSrc1,pSrc2)
*
* ARGUMENT
* pDst is a pointer to the destination DEC structure
* pSrc1 is a pointer to source1 ASCII string
* pSrc2 is a pointer to source2 ASCII string
*
* DEpSrcIPTION
* Adds the value in pSrc1 (ASCII) to the value in pSrc2 (ASCII)
* and puts the result in pDst DEC structure
*
* SIDE EFFECTS
* On overflow, the dest value is indeterminate.
*
* RETURNS
* Returns a pointer to the dest structure unless overflow,
* 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_NAN
* GM_CNVRE
* GM_CNVRW
*
* AUTHOR
* Kamy Rahimi 19-JAN-1987 10:14:48
* Copyright (C) 1987-1990 Greenleaf Software Inc. All rights reserved.
*
*
* MODIFICATIONS
*
*/
#include <stdio.h>
#include "gm.h"
#include "gmsystem.h"
DEC* AddAscii(pDst,pSrc1,pSrc2)
DEC *pDst;
char *pSrc1,*pSrc2;
{
DEC t1,t2;
DEC *ps1,*ps2, *pd;
_MacStart( GM_ADDSTR );
ps1=&t1;
ps2=&t2;
ps1=ConvAsciiToDecimal(ps1,pSrc1);
if (!ps1)
_MacRet(GM_NULL);
ps2=ConvAsciiToDecimal(ps2,pSrc2);
if (!ps2)
_MacRet(GM_NULL);
pd = AddDecimal(pDst,ps1,ps2);
_MacRet(pd);
}