--- arpc/rpctypes.h.orig 2002-05-28 06:29:15.000000000 -0400 +++ arpc/rpctypes.h 2007-09-15 17:13:31.000000000 -0400 @@ -129,7 +129,7 @@ if (&v != this) \ assign (v) - void init () { mode = NOFREE; nelm = 0; vec = NULL; } + void init () { mode = freemode::NOFREE; nelm = 0; vec = NULL; } void del () { switch (mode) { case NOFREE: @@ -266,6 +266,8 @@ a.swap (b); } +extern const str rpc_emptystr; + template struct rpc_str : str { enum { maxsize = max }; @@ -301,12 +303,12 @@ }; template struct rpc_opaque : array { - rpc_opaque () { bzero (base (), size ()); } + rpc_opaque () { bzero (this->base (), this->size ()); } }; template struct rpc_bytes : rpc_vec { - 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 rpc_bytes &operator= (const rpc_vec &v) { rpc_vec::operator= (v); return *this; } template rpc_bytes &operator= (const array &v) @@ -519,7 +521,6 @@ 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)