summaryrefslogtreecommitdiff
path: root/security/sfs/patches/patch-ae
diff options
context:
space:
mode:
Diffstat (limited to 'security/sfs/patches/patch-ae')
-rw-r--r--security/sfs/patches/patch-ae35
1 files changed, 35 insertions, 0 deletions
diff --git a/security/sfs/patches/patch-ae b/security/sfs/patches/patch-ae
new file mode 100644
index 00000000000..fe81eda0e68
--- /dev/null
+++ b/security/sfs/patches/patch-ae
@@ -0,0 +1,35 @@
+$NetBSD: patch-ae,v 1.1 2006/10/21 11:53:13 agc Exp $
+
+--- ./async/refcnt.h.orig 2002-09-21 00:05:21.000000000 +0100
++++ ./async/refcnt.h
+@@ -408,6 +408,8 @@ template<class T>
+ class ref : public refpriv, public refops<T> {
+ friend class refpriv;
+
++ refops<T>::p;
++
+ friend ref<T> mkref<T> (T *);
+ ref (T *pp, refcount *cc) : refpriv (cc) { p = pp; inc (); }
+
+@@ -455,6 +457,8 @@ template<class T>
+ class ptr : public refpriv, public refops <T> {
+ friend class refpriv;
+
++ refops<T>::p;
++
+ void inc () const { if (c) (rinc (c)); }
+ void dec () const { if (c) (rdec (c)); }
+
+@@ -509,10 +513,11 @@ public:
+
+ template<class T>
+ struct bssptr : ptr<T> {
++
+ // Don't initialize (assume we were 0 initialized in the BSS)
+ bssptr () : ptr<T> (__bss_init ()) {}
+ // Override the effects of destruction
+- ~bssptr () { assert (globaldestruction); if (*this != NULL) Xleak (); }
++ ~bssptr () { assert (globaldestruction); if (*this != NULL) this->Xleak (); }
+ ptr<T> &operator= (refpriv::privtype *p) { return ptr<T>::operator= (p); }
+ template<class U> ptr<T> &operator= (const ptr<U> &r)
+ { return ptr<T>::operator= (r); }