File: mathass.c

package info (click to toggle)
icmake 6.30-3
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 2,360 kB
  • ctags: 1,415
  • sloc: ansic: 7,727; makefile: 1,465; sh: 244; asm: 126; cpp: 39
file content (31 lines) | stat: -rw-r--r-- 642 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*
                             M A T H A S S . C
*/

#include "iccomp.h"

ESTRUC_ *math_ass(lval, rval, fun, opstr)
    ESTRUC_
        *lval,
        *rval,
        *(*fun) ARG((ESTRUC_ *, ESTRUC_ *));
    char
        *opstr;
{
    register E_TYPE_
        ltype;
    register unsigned
        evalue;

    ltype = lval->type;
    evalue = lval->evalue;

    fun(lval, rval);                        /* perform operation */

    rval->type = ltype;                     /* restore ltype/value */
    rval->evalue = evalue;
    rval->codelen = 0;
    rval->code = NULL;

    return (assignment(rval, lval, opstr)); /* perform assignment */
}