commit 6ffc2fc6fcff4b4bfe41477f8c5ecacc17c82924 Author: Christophe Fergeau <cferg...@mandriva.com> Date: Thu Oct 22 01:45:20 2009 +0200
make sure we don't try to write unknown checksum types src/itdb_device.c | 9 ++++++++- src/itdb_device.h | 1 + 2 files changed, 9 insertions(+), 1 deletions(-) --- diff --git a/src/itdb_device.c b/src/itdb_device.c index ad671c0..0b8f64e 100644 --- a/src/itdb_device.c +++ b/src/itdb_device.c @@ -1717,12 +1717,16 @@ static ItdbChecksumType itdb_device_get_checksum_type (const Itdb_Device *device gint db_version; db_version = itdb_sysinfo_properties_get_db_version (device->sysinfo_extended); switch (db_version) { + case 0: + case 1: + case 2: + return ITDB_CHECKSUM_NONE; case 3: return ITDB_CHECKSUM_HASH58; case 4: return ITDB_CHECKSUM_HASH72; default: - return ITDB_CHECKSUM_NONE; + return ITDB_CHECKSUM_UNKNOWN; } } else { const Itdb_IpodInfo *info; @@ -1836,6 +1840,9 @@ G_GNUC_INTERNAL gboolean itdb_device_write_checksum (Itdb_Device *device, return itdb_device_write_hash58 (device, itdb_data, itdb_len, error); case ITDB_CHECKSUM_HASH72: return itdb_hash72_write_hash (device, itdb_data, itdb_len, error); + case ITDB_CHECKSUM_UNKNOWN: + g_set_error (error, 0, -1, "Unsupported checksum type"); + return FALSE; } g_assert_not_reached (); } diff --git a/src/itdb_device.h b/src/itdb_device.h index 518ca93..557f417 100644 --- a/src/itdb_device.h +++ b/src/itdb_device.h @@ -76,6 +76,7 @@ enum _ItdbThumbFormat typedef enum _ItdbChecksumType ItdbChecksumType; enum _ItdbChecksumType { + ITDB_CHECKSUM_UNKNOWN = -1, ITDB_CHECKSUM_NONE = 0, ITDB_CHECKSUM_HASH58 = 1, ITDB_CHECKSUM_HASH72 = 2 ------------------------------------------------------------------------------ Return on Information: Google Enterprise Search pays you back Get the facts. http://p.sf.net/sfu/google-dev2dev _______________________________________________ gtkpod-cvs2 mailing list gtkpod-cvs2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2