[Xfce4-commits] <exo:versioning-from-0.3-to-1> Remove exo_md5_*() functions and ExoMd5Digest. There's GChecksum now.

Jannis Pohlmann jannis at xfce.org
Thu Aug 13 16:50:01 CEST 2009


Updating branch refs/heads/versioning-from-0.3-to-1
         to 7ba2f84774dbf69f669cc6677cae10d382c6b66d (commit)
       from 0d7c388f8875a32d902cd94ca492787c812121d4 (commit)

commit 7ba2f84774dbf69f669cc6677cae10d382c6b66d
Author: Jannis Pohlmann <jannis at xfce.org>
Date:   Thu Aug 13 16:49:00 2009 +0200

    Remove exo_md5_*() functions and ExoMd5Digest. There's GChecksum now.

 docs/reference/exo-docs.sgml     |    2 -
 docs/reference/exo-sections.txt  |   18 --
 docs/reference/exo.types         |    1 -
 docs/reference/tmpl/exo-md5.sgml |   99 -------
 exo/Makefile.am                  |    2 -
 exo/exo-md5.c                    |  551 --------------------------------------
 exo/exo-md5.h                    |   60 ----
 exo/exo-thumbnail.c              |    5 +-
 exo/exo.h                        |    1 -
 exo/exo.symbols                  |   15 -
 10 files changed, 2 insertions(+), 752 deletions(-)

diff --git a/docs/reference/exo-docs.sgml b/docs/reference/exo-docs.sgml
index e9696ed..85a318d 100644
--- a/docs/reference/exo-docs.sgml
+++ b/docs/reference/exo-docs.sgml
@@ -21,7 +21,6 @@
 <!ENTITY exo-config SYSTEM "xml/exo-config.xml">
 <!ENTITY exo-binding SYSTEM "xml/exo-binding.xml">
 <!ENTITY exo-execute SYSTEM "xml/exo-execute.xml">
-<!ENTITY exo-md5 SYSTEM "xml/exo-md5.xml">
 <!ENTITY exo-mount-point SYSTEM "xml/exo-mount-point.xml">
 <!ENTITY exo-string SYSTEM "xml/exo-string.xml">
 <!ENTITY exo-url SYSTEM "xml/exo-url.xml">
@@ -302,7 +301,6 @@
     &exo-config;
     &exo-binding;
     &exo-execute;
-    &exo-md5;
     &exo-mount-point;
     &exo-string;
     &exo-url;
diff --git a/docs/reference/exo-sections.txt b/docs/reference/exo-sections.txt
index fc4210f..76f7994 100644
--- a/docs/reference/exo-sections.txt
+++ b/docs/reference/exo-sections.txt
@@ -452,24 +452,6 @@ exo_execute_terminal_shell_on_screen
 </SECTION>
 
 <SECTION>
-<FILE>exo-md5</FILE>
-<TITLE>MD5 functions</TITLE>
-ExoMd5Digest
-exo_str_get_md5_digest
-exo_str_get_md5_str
-exo_md5_str_to_digest
-exo_md5_digest_to_str
-exo_md5_digest_dup
-exo_md5_digest_free
-exo_md5_digest_hash
-exo_md5_digest_equal
-<SUBSECTION Standard>
-EXO_TYPE_MD5_DIGEST
-<SUBSECTION Private>
-exo_md5_digest_get_type
-</SECTION>
-
-<SECTION>
 <FILE>exo-mount-point</FILE>
 <TITLE>Mount Points</TITLE>
 ExoMountPointFlags
diff --git a/docs/reference/exo.types b/docs/reference/exo.types
index 748af4a..b3ebcdf 100644
--- a/docs/reference/exo.types
+++ b/docs/reference/exo.types
@@ -18,5 +18,4 @@ exo_job_get_type
 exo_simple_job_get_type
 
 exo_xsession_client_get_type
-exo_md5_digest_get_type
 exo_mount_point_get_type
diff --git a/docs/reference/tmpl/exo-md5.sgml b/docs/reference/tmpl/exo-md5.sgml
deleted file mode 100644
index 945288c..0000000
--- a/docs/reference/tmpl/exo-md5.sgml
+++ /dev/null
@@ -1,99 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-MD5 Functions
-
-<!-- ##### SECTION Short_Description ##### -->
-MD5 hash implementation
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-  This is an implementation 16-byte MD5 hash algorithm with some
-  related utility functions.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-Stable
-
-<!-- ##### STRUCT ExoMd5Digest ##### -->
-<para>
-  Structure to represent a MD5 digest.
-</para>
-
- at digest: the MD5 digest.
-
-<!-- ##### FUNCTION exo_str_get_md5_digest ##### -->
-<para>
-
-</para>
-
- at contents: 
- at Returns: 
-
-
-<!-- ##### FUNCTION exo_str_get_md5_str ##### -->
-<para>
-
-</para>
-
- at contents: 
- at Returns: 
-
-
-<!-- ##### FUNCTION exo_md5_str_to_digest ##### -->
-<para>
-
-</para>
-
- at str_digest: 
- at Returns: 
-
-
-<!-- ##### FUNCTION exo_md5_digest_to_str ##### -->
-<para>
-
-</para>
-
- at digest: 
- at Returns: 
-
-
-<!-- ##### FUNCTION exo_md5_digest_dup ##### -->
-<para>
-
-</para>
-
- at digest: 
- at Returns: 
-
-
-<!-- ##### FUNCTION exo_md5_digest_free ##### -->
-<para>
-
-</para>
-
- at digest: 
-
-
-<!-- ##### FUNCTION exo_md5_digest_hash ##### -->
-<para>
-
-</para>
-
- at digest: 
- at Returns: 
-
-
-<!-- ##### FUNCTION exo_md5_digest_equal ##### -->
-<para>
-
-</para>
-
- at digest1: 
- at digest2: 
- at Returns: 
-
-
diff --git a/exo/Makefile.am b/exo/Makefile.am
index 96ef214..1fa8739 100644
--- a/exo/Makefile.am
+++ b/exo/Makefile.am
@@ -24,7 +24,6 @@ libexo_headers =							\
 	exo-icon-view.h							\
 	exo-job.h							\
 	exo-simple-job.h						\
-	exo-md5.h							\
 	exo-mount-point.h						\
 	exo-pango-extensions.h						\
 	exo-string.h							\
@@ -76,7 +75,6 @@ libexo_1_la_SOURCES =							\
 	exo-job.c							\
 	exo-job.h							\
 	exo-simple-job.c						\
-	exo-md5.c							\
 	exo-mount-point.c						\
 	exo-pango-extensions.c						\
 	exo-private.c							\
diff --git a/exo/exo-md5.c b/exo/exo-md5.c
deleted file mode 100644
index 33e651e..0000000
--- a/exo/exo-md5.c
+++ /dev/null
@@ -1,551 +0,0 @@
-/* $Id$ */
-/*-
- * Copyright (c) 2004-2007 os-cillation e.K.
- * Copyright (c) 2004      James M. Cape <jcape at ignore-your.tv>
- *
- * Written by Benedikt Meurer <benny at xfce.org>.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
-#ifdef HAVE_MEMORY_H
-#include <memory.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-
-#include <exo/exo-md5.h>
-#include <exo/exo-private.h>
-#include <exo/exo-string.h>
-#include <exo/exo-alias.h>
-
-
-
-/*
- * This code implements the MD5 message-digest algorithm.
- * The algorithm is due to Ron Rivest. The original code was
- * written by Colin Plumb in 1993, and put in the public domain.
- *
- * Modified to use glib datatypes. Put under GPL to simplify
- * licensing for ROX-Filer. Taken from Debian's dpkg package.
- */
-
-#define md5byte unsigned char
-
-typedef struct _MD5_CTX MD5_CTX;
-
-struct _MD5_CTX {
-  guint32 buf[4];
-  guint32 bytes[2];
-  guint32 in[16];
-};
-
-
-
-#if G_BYTE_ORDER == G_BIG_ENDIAN
-static void
-byteSwap (guint32 *buf, unsigned words)
-{
-  md5byte *p = (md5byte *)buf;
-
-  do
-    {
-      *buf++ = (guint32)((unsigned)p[3] << 8 | p[2]) << 16 |
-                ((unsigned)p[1] << 8 | p[0]);
-      p += 4;
-    }
-  while (--words);
-}
-#else
-#define byteSwap(buf,words)
-#endif
-
-
-
-/*
- * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
- * initialization constants.
- */
-static void
-MD5Init (MD5_CTX *ctx)
-{
-  ctx->buf[0] = 0x67452301;
-  ctx->buf[1] = 0xefcdab89;
-  ctx->buf[2] = 0x98badcfe;
-  ctx->buf[3] = 0x10325476;
-
-  ctx->bytes[0] = 0;
-  ctx->bytes[1] = 0;
-}
-
-
-
-/* The four core functions - F1 is optimized somewhat */
-
-
-
-/* #define F1(x, y, z) (x & y | ~x & z) */
-#define F1(x, y, z) (z ^ (x & (y ^ z)))
-#define F2(x, y, z) F1(z, x, y)
-#define F3(x, y, z) (x ^ y ^ z)
-#define F4(x, y, z) (y ^ (x | ~z))
-
-/* This is the central step in the MD5 algorithm. */
-#define MD5STEP(f,w,x,y,z,in,s) \
-         (w += f(x,y,z) + in, w = (w<<s | w>>(32-s)) + x)
-
-
-
-/*
- * The core of the MD5 algorithm, this alters an existing MD5 hash to
- * reflect the addition of 16 longwords of new data.  MD5Update blocks
- * the data and converts bytes into longwords for this routine.
- */
-static void
-MD5Transform (guint32 buf[4], guint32 const in[16])
-{
-  register guint32 a, b, c, d;
-
-  a = buf[0];
-  b = buf[1];
-  c = buf[2];
-  d = buf[3];
-
-  MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7);
-  MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12);
-  MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17);
-  MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22);
-  MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7);
-  MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12);
-  MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17);
-  MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22);
-  MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7);
-  MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12);
-  MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17);
-  MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22);
-  MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7);
-  MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12);
-  MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17);
-  MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22);
-
-  MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5);
-  MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9);
-  MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14);
-  MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20);
-  MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5);
-  MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9);
-  MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14);
-  MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20);
-  MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5);
-  MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9);
-  MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14);
-  MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20);
-  MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5);
-  MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9);
-  MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14);
-  MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20);
-
-  MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4);
-  MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11);
-  MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16);
-  MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23);
-  MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4);
-  MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11);
-  MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16);
-  MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23);
-  MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4);
-  MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11);
-  MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16);
-  MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23);
-  MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4);
-  MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11);
-  MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16);
-  MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23);
-
-  MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6);
-  MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10);
-  MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15);
-  MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21);
-  MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6);
-  MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10);
-  MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15);
-  MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21);
-  MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6);
-  MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10);
-  MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15);
-  MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21);
-  MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6);
-  MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10);
-  MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15);
-  MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21);
-
-  buf[0] += a;
-  buf[1] += b;
-  buf[2] += c;
-  buf[3] += d;
-}
-
-
-
-/*
- * Update context to reflect the concatenation of another buffer full
- * of bytes.
- */
-static void
-MD5Update (MD5_CTX *ctx, md5byte const *buf, unsigned len)
-{
-  guint32 t;
-
-  /* Update byte count */
-
-  t = ctx->bytes[0];
-  if ((ctx->bytes[0] = t + len) < t)
-    ctx->bytes[1]++;        /* Carry from low to high */
-
-  t = 64 - (t & 0x3f);    /* Space available in ctx->in (at least 1) */
-  if (t > len)
-    {
-      memcpy((md5byte *)ctx->in + 64 - t, buf, len);
-      return;
-    }
-  /* First chunk is an odd size */
-  memcpy((md5byte *)ctx->in + 64 - t, buf, t);
-  byteSwap(ctx->in, 16);
-  MD5Transform(ctx->buf, ctx->in);
-  buf += t;
-  len -= t;
-
-  /* Process data in 64-byte chunks */
-  while (len >= 64)
-    {
-      memcpy(ctx->in, buf, 64);
-      byteSwap(ctx->in, 16);
-      MD5Transform(ctx->buf, ctx->in);
-      buf += 64;
-      len -= 64;
-    }
-
-  /* Handle any remaining bytes of data. */
-  memcpy(ctx->in, buf, len);
-}
-
-
-
-/*
- * Final wrapup - pad to 64-byte boundary with the bit pattern
- * 1 0* (64-bit count of bits processed, MSB-first)
- * Returns the newly allocated string of the hash.
- */
-static void
-MD5Final (unsigned char digest[16], MD5_CTX *ctx)
-{
-  int count = ctx->bytes[0] & 0x3f;       /* Number of bytes in ctx->in */
-  md5byte *p = (md5byte *)ctx->in + count;
-
-  /* Set the first char of padding to 0x80.  There is always room. */
-  *p++ = 0x80;
-
-  /* Bytes of padding needed to make 56 bytes (-8..55) */
-  count = 56 - 1 - count;
-
-  if (count < 0)        /* Padding forces an extra block */
-    {
-      memset(p, 0, count + 8);
-      byteSwap(ctx->in, 16);
-      MD5Transform(ctx->buf, ctx->in);
-      p = (md5byte *)ctx->in;
-      count = 56;
-    }
-  memset(p, 0, count);
-  byteSwap(ctx->in, 14);
-
-  /* Append length in bits and transform */
-  ctx->in[14] = ctx->bytes[0] << 3;
-  ctx->in[15] = ctx->bytes[1] << 3 | ctx->bytes[0] >> 29;
-  MD5Transform (ctx->buf, ctx->in);
-
-  byteSwap(ctx->buf, 4);
-
-  memcpy (digest, ctx->buf, 16);
-}
-
-
-
-static void
-get_md5 (const gchar *contents,
-         guchar       digest[16])
-{
-  MD5_CTX ctx;
-
-  MD5Init (&ctx);
-  MD5Update (&ctx, (const guchar *) contents, strlen (contents));
-  MD5Final (digest, &ctx);
-}
-
-
-
-GType
-exo_md5_digest_get_type (void)
-{
-  static GType type = G_TYPE_INVALID;
-
-  if (G_UNLIKELY (type == G_TYPE_INVALID))
-    {
-      type = g_boxed_type_register_static (I_("ExoMd5Digest"),
-                                           (GBoxedCopyFunc) exo_md5_digest_dup,
-                                           (GBoxedFreeFunc) exo_md5_digest_free);
-    }
-
-  return type;
-}
-
-
-
-/**
- * exo_str_get_md5_digest:
- * @contents : The string to create a digest of.
- *
- * Creates a binary MD5 digest of the string @contents.
- *
- * Return value: A new binary MD5 digest. It should be freed
- *               with exo_md5_digest_free() when no longer
- *               needed.
- **/
-ExoMd5Digest*
-exo_str_get_md5_digest (const gchar *contents)
-{
-  ExoMd5Digest *digest;
-
-  g_return_val_if_fail (contents != NULL, NULL);
-
-  digest = g_slice_new (ExoMd5Digest);
-  get_md5 (contents, digest->digest);
-
-  return digest;
-}
-
-
-
-/**
- * exo_str_get_md5_str:
- * @contents : The string to create a digest of.
- *
- * Creates a character array MD5 digestof the string
- * @contents.
- *
- * Return value: A newly-allocated character array which
- *               should be free with g_free() when no
- *               longer needed.
- **/
-gchar*
-exo_str_get_md5_str (const gchar *contents)
-{
-  ExoMd5Digest digest;
-
-  g_return_val_if_fail (contents != NULL, NULL);
-
-  get_md5 (contents, digest.digest);
-
-  return exo_md5_digest_to_str (&digest);
-}
-
-
-
-/**
- * exo_md5_str_to_digest:
- * @str_digest : The character array digest to convert.
- *
- * Converts thq @str_digest character array digest
- * into a binary digest.
- *
- * Return value: A newly allocated binary digest. It should
- *               be freed with exo_md5_digest_free() when
- *               no longer needed.
- **/
-ExoMd5Digest*
-exo_md5_str_to_digest (const gchar *str_digest)
-{
-  ExoMd5Digest *digest;
-  guint         n;
-
-  g_return_val_if_fail (str_digest != NULL, NULL);
-  g_return_val_if_fail (strlen (str_digest) == 32, NULL);
-
-  digest = g_slice_new (ExoMd5Digest);
-  for (n = 0; n < 16; ++n)
-    {
-      digest->digest[n] =
-        g_ascii_xdigit_value (str_digest[2 * n]) << 4 |
-        g_ascii_xdigit_value (str_digest[2 * n + 1]);
-    }
-
-  return digest;
-}
-
-
-
-/**
- * exo_md5_digest_to_str:
- * @digest : The binary MD5 digest to convert.
- *
- * Converts the binary @digest to an ASCII character array
- * digest. The result can be used as an ordinary C string.
- *
- * Return value: A newly-allocated character array which
- *               should be freed with g_free() when no
- *               longer needed.
- **/
-gchar*
-exo_md5_digest_to_str (const ExoMd5Digest *digest)
-{
-  static const gchar HEX_DIGITS[] = "0123456789abcdef";
-  guchar            *str_digest;
-  guint              n;
-
-  g_return_val_if_fail (digest != NULL, NULL);
-
-  str_digest = g_new (guchar, 33);
-  for (n = 0; n < 16; n++)
-    {
-      str_digest[2 * n]     = HEX_DIGITS[digest->digest[n] >> 4];
-      str_digest[2 * n + 1] = HEX_DIGITS[digest->digest[n] & 0xf];
-    }
-  str_digest[32] = 0;
-
-  return (gchar *) str_digest;
-}
-
-
-
-/**
- * exo_md5_digest_dup:
- * @digest : The MD5 digest to copy.
- *
- * Duplicates the contents of the @digest binary
- * MD5 digest.
- *
- * Return value: A new binary MD5 digest. It should
- *               be freed with exo_md5_digest_free()
- *               when no longer needed.
- **/
-ExoMd5Digest*
-exo_md5_digest_dup (const ExoMd5Digest *digest)
-{
-  ExoMd5Digest *duplicate;
-
-  if (G_LIKELY (digest != NULL))
-    {
-      /* take a copy of the digest */
-      duplicate = g_slice_new (ExoMd5Digest);
-      memcpy (duplicate, digest, sizeof (*digest));
-      return duplicate;
-    }
-  else
-    {
-      /* duplicating NULL yields NULL */
-      return NULL;
-    }
-}
-
-
-
-/**
- * exo_md5_digest_free:
- * @digest : The MD5 digest to free.
- *
- * Frees the memory allocated for the MD5 binary
- * @digest.
- **/
-void
-exo_md5_digest_free (ExoMd5Digest *digest)
-{
-  g_slice_free (ExoMd5Digest, digest);
-}
-
-
-
-/**
- * exo_md5_digest_hash:
- * @digest : The #ExoMd5Digest to hash.
- *
- * Gets the numeric hash of @digest, for use
- * in #GHashTable and #GCache.
- *
- * Return value: An unsigned integer hash of
- *               the digest;
- **/
-guint
-exo_md5_digest_hash (gconstpointer digest)
-{
-  return *((guint *) digest);
-}
-
-
-
-/**
- * exo_md5_digest_equal:
- * @digest1: the first #ExoMd5Digest to compare.
- * @digest2: the second #ExoMd5Digest to compare.
- *
- * Tests the equality of @digest1 and @digest2, useful for #GHashTable and
- * #GCashe.
- *
- * Returns: %TRUE if both digests are equal, %FALSE otherwise.
- **/
-gboolean
-exo_md5_digest_equal (gconstpointer digest1,
-                      gconstpointer digest2)
-{
-  guint *d1;
-  guint *d2;
-  guint  i;
-
-  /* Both NULL or same digest */
-  if (digest1 == digest2)
-    return TRUE;
-
-  /* One is NULL and the other isn't */
-  if (digest1 == NULL || digest2 == NULL)
-    return FALSE;
-
-  d1 = (guint *) digest1;
-  d2 = (guint *) digest2;
-
-  for (i = 0; i < (16 / sizeof (guint)); ++i)
-    {
-      if (*d1 != *d2)
-        return FALSE;
-
-      d1 += i;
-      d2 += i;
-    }
-
-  return TRUE;
-}
-
-
-
-#define __EXO_MD5_C__
-#include <exo/exo-aliasdef.c>
diff --git a/exo/exo-md5.h b/exo/exo-md5.h
deleted file mode 100644
index bad79c7..0000000
--- a/exo/exo-md5.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* $Id$ */
-/*-
- * Copyright (c) 2004-2006 os-cillation e.K.
- * Copyright (c) 2004      James M. Cape <jcape at ignore-your.tv>
- *
- * Written by Benedikt Meurer <benny at xfce.org>.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#if !defined (EXO_INSIDE_EXO_H) && !defined (EXO_COMPILATION)
-#error "Only <exo/exo.h> can be included directly, this file may disappear or change contents."
-#endif
-
-#ifndef __EXO_MD5_H__
-#define __EXO_MD5_H__
-
-#include <exo/exo-config.h>
-
-G_BEGIN_DECLS
-
-#define EXO_TYPE_MD5_DIGEST (exo_md5_digest_get_type ())
-
-typedef struct _ExoMd5Digest ExoMd5Digest;
-struct _ExoMd5Digest
-{
-  guchar digest[16];
-};
-
-GType         exo_md5_digest_get_type (void)  G_GNUC_CONST;
-
-ExoMd5Digest *exo_str_get_md5_digest  (const gchar        *contents) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
-gchar        *exo_str_get_md5_str     (const gchar        *contents) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
-
-ExoMd5Digest *exo_md5_str_to_digest   (const gchar        *str_digest) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
-gchar        *exo_md5_digest_to_str   (const ExoMd5Digest *digest) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
-
-ExoMd5Digest *exo_md5_digest_dup      (const ExoMd5Digest *digest) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
-void          exo_md5_digest_free     (ExoMd5Digest       *digest);
-
-guint         exo_md5_digest_hash     (gconstpointer       digest);
-gboolean      exo_md5_digest_equal    (gconstpointer       digest1,
-                                       gconstpointer       digest2);
-
-G_END_DECLS
-
-#endif /* !__EXO_MD5_H__ */
diff --git a/exo/exo-thumbnail.c b/exo/exo-thumbnail.c
index 5ec09fc..7ca6e2c 100644
--- a/exo/exo-thumbnail.c
+++ b/exo/exo-thumbnail.c
@@ -52,7 +52,6 @@
 #include <libxfce4util/libxfce4util.h>
 
 #include <exo/exo-gdk-pixbuf-extensions.h>
-#include <exo/exo-md5.h>
 #include <exo/exo-private.h>
 #include <exo/exo-thumbnail.h>
 #include <exo/exo-alias.h>
@@ -217,7 +216,7 @@ _exo_thumbnail_get_for_file (const gchar     *filename,
       if (G_LIKELY (uri != NULL))
         {
           /* determine the filename of the thumbnail */
-          md5 = exo_str_get_md5_str (uri);
+          md5 = g_compute_checksum_for_string (G_CHECKSUM_MD5, uri, -1);
           name = g_strconcat (md5, ".png", NULL);
           g_free (md5);
 
@@ -280,7 +279,7 @@ _exo_thumbnail_get_for_uri (const gchar     *uri,
   _exo_return_val_if_fail (uri != NULL, NULL);
 
   /* determine the filename of the thumbnail */
-  md5 = exo_str_get_md5_str (uri);
+  md5 = g_compute_checksum_for_string (G_CHECKSUM_MD5, uri, -1);
   name = g_strconcat (md5, ".png", NULL);
   g_free (md5);
 
diff --git a/exo/exo.h b/exo/exo.h
index ee686cd..2857fc3 100644
--- a/exo/exo.h
+++ b/exo/exo.h
@@ -48,7 +48,6 @@
 #include <exo/exo-icon-chooser-dialog.h>
 #include <exo/exo-icon-view.h>
 #include <exo/exo-job.h>
-#include <exo/exo-md5.h>
 #include <exo/exo-mount-point.h>
 #include <exo/exo-pango-extensions.h>
 #include <exo/exo-simple-job.h>
diff --git a/exo/exo.symbols b/exo/exo.symbols
index 7f5fbf7..0dbed04 100644
--- a/exo/exo.symbols
+++ b/exo/exo.symbols
@@ -227,21 +227,6 @@ exo_icon_view_set_search_position_func
 #endif
 #endif
 
-/* exo-md5 functions */
-#if IN_HEADER(__EXO_MD5_H__)
-#if IN_SOURCE(__EXO_MD5_C__)
-exo_md5_digest_get_type G_GNUC_CONST
-exo_str_get_md5_digest G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT
-exo_str_get_md5_str G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT
-exo_md5_str_to_digest G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT
-exo_md5_digest_to_str G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT
-exo_md5_digest_dup G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT
-exo_md5_digest_free
-exo_md5_digest_hash
-exo_md5_digest_equal
-#endif
-#endif
-
 /* exo-mount-point functions */
 #if IN_HEADER(__EXO_MOUNT_POINT_H__)
 #if IN_SOURCE(__EXO_MOUNT_POINT_C__)



More information about the Xfce4-commits mailing list