- raise TypeError, "A string is expected"\r
- result = libcrypto.EVP_DigestUpdate(self.ctx, c_char_p(data), len(data))\r
+ raise TypeError("A string is expected")\r
+ if length is None:\r
+ length=len(data)\r
+ elif length> len(data):\r
+ raise ValueError("Specified length is greater than length of data")\r
+ result = libcrypto.EVP_DigestUpdate(self.ctx, c_char_p(data), length)\r