Fixed hexbin handling
diff --git a/Lib/binhex.py b/Lib/binhex.py
index a7f906d..2f97a33 100644
--- a/Lib/binhex.py
+++ b/Lib/binhex.py
@@ -198,6 +198,7 @@
 		self.ofp.write(data)
 
     def _writecrc(self):
+##    	self.crc = binascii.crc_hqx('\0\0', self.crc) # XXXX Should this be here??
 		self.ofp.write(struct.pack('h', self.crc))
 		self.crc = 0
 
@@ -257,9 +258,10 @@
 		self.ifp = ifp
 		self.eof = 0
 
-    def read(self, wtd):
+    def read(self, totalwtd):
 		"""Read at least wtd bytes (or until EOF)"""
 		decdata = ''
+		wtd = totalwtd
 		#
 		# The loop here is convoluted, since we don't really now how much
 		# to decode: there may be newlines in the incoming data.
@@ -283,7 +285,7 @@
 					raise Error, 'Premature EOF on binhex file'
 				data = data + newdata
 			decdata = decdata + decdatacur
-			wtd = wtd - len(decdata)
+			wtd = totalwtd - len(decdata)
 			if not decdata and not self.eof:
 				raise Error, 'Premature EOF on binhex file'
 		return decdata
@@ -367,11 +369,12 @@
 		
     def _checkcrc(self):
 		filecrc = struct.unpack('h', self.ifp.read(2))[0] & 0xffff
+##		self.crc = binascii.crc_hqx('\0\0', self.crc) # XXXX Is this needed??
 		self.crc = self.crc & 0xffff
 		if DEBUG:
 			print 'DBG CRC %x %x'%(self.crc, filecrc)
-		#if filecrc != self.crc:
-		#	raise Error, 'CRC error, computed %x, read %x'%(self.crc, filecrc)
+		if filecrc != self.crc:
+			raise Error, 'CRC error, computed %x, read %x'%(self.crc, filecrc)
 		self.crc = 0
 
     def _readheader(self):