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

--- ./arpc/rpctypes.h.orig	2002-05-28 11:29:15.000000000 +0100
+++ ./arpc/rpctypes.h
@@ -173,7 +173,7 @@ public:
   template<size_t m> rpc_vec &set (const array<T, m> &v)
     { switch (0) case 0: case m <= max:; assign (v); return *this; }
 #endif
-  rpc_vec &set (elm_t *base, size_t len, freemode_t m = NOFREE)
+  rpc_vec &set (elm_t *base, size_t len, freemode_t m = freemode::NOFREE)
     { mcheck (len); del (); mode = m; nelm = len; vec = base; return *this; }
   template<size_t m> rpc_vec &set (const ::vec<T, m> &v)
     { set (v.base (), v.size ()); }
@@ -266,6 +266,8 @@ swap (rpc_vec<T, max> &a, rpc_vec<T, max
   a.swap (b);
 }
 
+extern const str rpc_emptystr;
+
 template<size_t max = RPC_INFINITY> struct rpc_str : str
 {
   enum { maxsize = max };
@@ -301,12 +303,12 @@ public:
 };
 
 template<size_t n = RPC_INFINITY> struct rpc_opaque : array<char, n> {
-  rpc_opaque () { bzero (base (), size ()); }
+  rpc_opaque () { bzero (this->base (), this->size ()); }
 };
 template<size_t n = RPC_INFINITY> struct rpc_bytes : rpc_vec<char, n> {
-  void setstrmem (const str &s) { set (s.cstr (), s.len (), NOFREE); }
+  void setstrmem (const str &s) { this->set (s.cstr (), s.len (), freemode::NOFREE); }
   rpc_bytes &operator= (const str &s)
-    { setsize (s.len ()); memcpy (base (), s.cstr (), size ()); return *this; }
+    { this->setsize (s.len ()); memcpy (this->base (), s.cstr (), this->size ()); return *this; }
   template<size_t m> rpc_bytes &operator= (const rpc_vec<char, m> &v)
     { rpc_vec<char, n>::operator= (v); return *this; }
   template<size_t m> rpc_bytes &operator= (const array<char, m> &v)
@@ -519,7 +521,6 @@ stompcast (T &t)
 
 struct rpc_clear_t {};
 extern struct rpc_clear_t _rpcclear;
-extern const str rpc_emptystr;
 
 inline bool
 rpc_traverse (rpc_clear_t &, u_int32_t &obj)
