diff options
author | Julien Cristau <jcristau@debian.org> | 2009-10-14 23:20:44 +0200 |
---|---|---|
committer | Julien Cristau <jcristau@debian.org> | 2009-10-15 01:17:44 +0200 |
commit | 55516094947dd78ad2734bb784a2fb109b64c990 (patch) | |
tree | a33fc94df894e66357c09ec05798355a3a67a11c /render | |
parent | 25344ba7f7845654364d62bf15322b3b79465bd9 (diff) |
Move SHA1 computation from render/glyph.c to os/
Signed-off-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: RĂ©mi Cardona <remi@gentoo.org>
Diffstat (limited to 'render')
-rw-r--r-- | render/glyph.c | 36 |
1 files changed, 9 insertions, 27 deletions
diff --git a/render/glyph.c b/render/glyph.c index 7fcdfd9d1..0b864ad4d 100644 --- a/render/glyph.c +++ b/render/glyph.c @@ -26,12 +26,7 @@ #include <dix-config.h> #endif -#ifdef HAVE_SHA1_IN_LIBMD /* Use libmd for SHA1 */ -# include <sha1.h> -#else /* Use OpenSSL's libcrypto */ -# include <stddef.h> /* buggy openssl/sha.h wants size_t */ -# include <openssl/sha.h> -#endif +#include "xsha1.h" #include "misc.h" #include "scrnintstr.h" @@ -198,34 +193,21 @@ HashGlyph (xGlyphInfo *gi, unsigned long size, unsigned char sha1[20]) { -#ifdef HAVE_SHA1_IN_LIBMD /* Use libmd for SHA1 */ - SHA1_CTX ctx; - - SHA1Init (&ctx); - SHA1Update (&ctx, gi, sizeof (xGlyphInfo)); - SHA1Update (&ctx, bits, size); - SHA1Final (sha1, &ctx); -#else /* Use OpenSSL's libcrypto */ - SHA_CTX ctx; + void *ctx = x_sha1_init(); int success; - success = SHA1_Init (&ctx); - if (! success) + if (!ctx) return BadAlloc; - success = SHA1_Update (&ctx, gi, sizeof (xGlyphInfo)); - if (! success) + success = x_sha1_update(ctx, gi, sizeof(xGlyphInfo)); + if (!success) return BadAlloc; - - success = SHA1_Update (&ctx, bits, size); - if (! success) + success = x_sha1_update(ctx, bits, size); + if (!success) return BadAlloc; - - success = SHA1_Final (sha1, &ctx); - if (! success) + success = x_sha1_final(ctx, sha1); + if (!success) return BadAlloc; -#endif - return Success; } |