$NetBSD: patch-bo,v 1.1 2006/10/21 11:53:13 agc Exp $

--- ./rex/chan.C.orig	2002-07-31 22:42:16.000000000 +0100
+++ ./rex/chan.C
@@ -39,7 +39,7 @@ void
 chanbase::kill (svccb *sbp)
 {
   assert (sbp->prog () == REX_PROG && sbp->proc () == REX_KILL);
-  rex_int_arg *argp = sbp->template getarg<rex_int_arg> ();
+  rex_int_arg *argp = sbp->getarg<rex_int_arg> ();
   assert (argp->channel == channo);
   sbp->replyref (bool (pid != -1 && ::kill (pid, argp->val) >= 0));
 }
@@ -245,7 +245,7 @@ void
 chanfd::data (svccb *sbp)
 {
   assert (sbp->prog () == REX_PROG && sbp->proc () == REX_DATA);
-  rex_payload *dp = sbp->template getarg<rex_payload> ();
+  rex_payload *dp = sbp->getarg<rex_payload> ();
   assert (dp->channel == channo);
   if (dp->fd < 0 || implicit_cast<size_t> (dp->fd) >= fdi.size ()) {
     warn ("payload fd %d out of range\n", dp->fd);
@@ -267,7 +267,7 @@ chanfd::data (svccb *sbp)
   }
   else {
     fdi[fdn].weof = true;
-    fdi[fdn].wuio.iovcb (wrap (this, &chanfd::voidshut, fdn, SHUT_WR));
+    fdi[fdn].wuio.iovcb (wrap (this, &chanfd::voidshut, fdn, (int)SHUT_WR));
     sbp->replyref (true);
   }
 }
@@ -276,7 +276,7 @@ void
 chanfd::close (svccb *sbp)
 {
   assert (sbp->prog () == REX_PROG && sbp->proc () == REX_CLOSE);
-  rex_int_arg *argp = sbp->template getarg<rex_int_arg> ();
+  rex_int_arg *argp = sbp->getarg<rex_int_arg> ();
   assert (argp->channel == channo);
   fdi[argp->val].close ();
   sbp->replyref (true);
