diff --git a/contrib/pgcrypto/openssl.c b/contrib/pgcrypto/openssl.c
index 74234e9bf02f308d54af97f65354a8fac9f37bcd..2ad5a63ebff9134be6764e25c5ae865fcd89bee6 100644
--- a/contrib/pgcrypto/openssl.c
+++ b/contrib/pgcrypto/openssl.c
@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $PostgreSQL: pgsql/contrib/pgcrypto/openssl.c,v 1.28 2006/07/13 04:15:25 neilc Exp $
+ * $PostgreSQL: pgsql/contrib/pgcrypto/openssl.c,v 1.29 2006/09/05 23:02:28 tgl Exp $
  */
 
 #include "postgres.h"
@@ -154,11 +154,12 @@ static int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *res, unsigned int
 #include "sha2.c"
 #include "internal-sha2.c"
 
-typedef int (*init_f)(PX_MD *md);
+typedef void (*init_f)(PX_MD *md);
 
 static int compat_find_digest(const char *name, PX_MD **res)
 {
 	init_f init = NULL;
+
 	if (pg_strcasecmp(name, "sha224") == 0)
 		init = init_sha224;
 	else if (pg_strcasecmp(name, "sha256") == 0)
@@ -169,6 +170,7 @@ static int compat_find_digest(const char *name, PX_MD **res)
 		init = init_sha512;
 	else
 		return PXE_NO_HASH;
+
 	*res = px_alloc(sizeof(PX_MD));
 	init(*res);
 	return 0;