Unique NULL.
authorRobert Bradshaw <robertwb@math.washington.edu>
Sat, 2 Apr 2011 10:22:58 +0000 (03:22 -0700)
committerRobert Bradshaw <robertwb@math.washington.edu>
Sat, 2 Apr 2011 10:22:58 +0000 (03:22 -0700)
Cython/Shadow.py

index 085ed8650ac74586ecb458d8d10cb817bb814752..ff9c44d5071a4447bd0bb37d046964bc855a2474 100644 (file)
@@ -109,7 +109,7 @@ class PointerType(CythonType):
             self._items = [cast(self._basetype, a) for a in value._items]
         elif isinstance(value, list):
             self._items = [cast(self._basetype, a) for a in value]
-        elif value is None:
+        elif value is None or value is 0:
             self._items = []
         else:
             raise ValueError
@@ -130,7 +130,7 @@ class PointerType(CythonType):
         elif type(self) != type(value):
             return False
         else:
-            return self._items == value._items
+            return not self._items and not value._items
 
 class ArrayType(PointerType):
 
@@ -273,5 +273,4 @@ for t in int_types + float_types + complex_types + other_types:
         gs["%s_%s" % ('p'*i, t)] = globals()[t]._pointer(i)
 
 void = typedef(None)
-NULL = None
-
+NULL = p_void(0)