File: catargs.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 (29 lines) | stat: -rw-r--r-- 702 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
/*
                                C A T A R G S . C
*/

#include "iccomp.h"

void catargs (arr)
    ESTRUC_
        *arr;
{
    register unsigned
        count;
    ESTRUC_
        *ep,
        e;

    if (!(count = arr->type))
        return;                             /* no arguments */

    ep = (ESTRUC_ *)arr->code;              /* local pointer to ESTRUC_s */

    e = ep[--count];                        /* e: code of last argument */

    while (count--)
        catcode(&e, &ep[count]);            /* catenate next argument(s) */

    free(arr->code);                         /* memory of array is free again */
    *arr = e;                               /* arguments changed to code */
}