1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-16 03:24:07 +00:00
freebsd-ports/devel/cbind/files/patch-nodeop.c
Frank J. Laszlo 136702793d New Port: devel/cbind
This tool is designed to aid in the creation of Ada bindings to C.

PR:	ports/105182
Submitted By:	"John Merryweather Cooper" <john_m_cooper@yahoo.com>
Approved By:	flz (mentor)
2006-11-09 13:56:24 +00:00

88 lines
2.1 KiB
C

--- nodeop.c.orig Fri May 19 16:50:54 1995
+++ nodeop.c Sun Nov 5 13:39:44 2006
@@ -1,5 +1,5 @@
#include <sys/types.h>
-#include <varargs.h>
+#include <stdarg.h>
#include <stdio.h>
#include "ansi.h"
#include "host.h"
@@ -85,52 +85,50 @@
}
node_t*
-new_node(kind, va_alist)
- node_kind_t kind;
- va_dcl
+new_node(node_kind_t kind, ...)
{
- va_list args;
+ va_list ap;
node_t *n;
- va_start(args);
+ va_start(ap, kind);
n = alloc_node(kind);
switch (node_classof(kind)) {
case _Binary:
- n->node.binary.l = va_arg(args, node_t*);
- n->node.binary.r = va_arg(args, node_t*);
+ n->node.binary.l = va_arg(ap, node_t*);
+ n->node.binary.r = va_arg(ap, node_t*);
break;
case _Unary:
- n->node.unary = va_arg(args, node_t*);
+ n->node.unary = va_arg(ap, node_t*);
break;
case _Pointer:
- n->node.id.name = va_arg(args, char*);
+ n->node.id.name = va_arg(ap, char*);
break;
case _Other:
switch (kind) {
case _Elipsis:
break;
case _String:
- n->node.str.form = va_arg(args, char*);
- n->node.str.len = va_arg(args, int);
+ n->node.str.form = va_arg(ap, char*);
+ n->node.str.len = va_arg(ap, int);
break;
case _Sym:
- n->node.sym = va_arg(args, symbol_t*);
+ n->node.sym = va_arg(ap, symbol_t*);
break;
case _Type:
- n->node.typ = va_arg(args, typeinfo_t*);
+ n->node.typ = va_arg(ap, typeinfo_t*);
break;
case _Cond:
- n->node.cond.bool = va_arg(args, node_t*);
- n->node.cond.tru = va_arg(args, node_t*);
- n->node.cond.fals = va_arg(args, node_t*);
+ n->node.cond.bool = va_arg(ap, node_t*);
+ n->node.cond.tru = va_arg(ap, node_t*);
+ n->node.cond.fals = va_arg(ap, node_t*);
break;
case _FP_Number:
- n->node.fval = va_arg(args, host_float_t);
+ n->node.fval = va_arg(ap, host_float_t);
break;
case _Int_Number:
- n->node.ival = va_arg(args, host_int_t);
+ n->node.ival = va_arg(ap, host_int_t);
break;
default:
fatal(__FILE__,__LINE__,"Unandled noded - (%d)", kind);
@@ -142,7 +140,7 @@
break;
}
- va_end(args);
+ va_end(ap);
return n;
}