--- lib.py      2008-05-11 12:45:16.000000000 +0000
+++ lib.py      2009-04-23 20:32:36.000000000 +0000
@@ -51,13 +51,12 @@
 def _putByte(handle, c):
     """Lookup sink by handle and call its putByte method"""
     sinkfactory[handle].putByte(c)
-    return 0

-PUTBYTEFUNC=ctypes.CFUNCTYPE(ctypes.c_int, ctypes.c_int, ctypes.c_char)
+PUTBYTEFUNC=ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_char)
 putByte=PUTBYTEFUNC(_putByte)

 class _OutputSink(ctypes.Structure):
-    _fields_=[("sinkData", ctypes.c_int),
+    _fields_=[("sinkData", ctypes.c_void_p),
               ("putByte", PUTBYTEFUNC),
               ]

@@ -120,16 +119,18 @@
     """Mapping for lookup of sinks by handle"""
     def __init__(self):
         FactoryDict.__init__(self)
-        self.lastsink = 0
+        self.lastsink = 1
     def create(self):
         sink = _Sink()
-        sink.struct.sinkData = self.lastsink
+        sink.struct.sinkData = ctypes.c_void_p(self.lastsink)
         FactoryDict._setitem(self, self.lastsink, sink)
         self.lastsink = self.lastsink+1
         return sink

 sinkfactory=SinkFactory()

+_tidy.Create.restype = ctypes.POINTER(ctypes.c_void_p)
+
 class _Document(object):
     def __init__(self):
         self.cdoc = _tidy.Create()
