Revision: 1722
http://gtkpod.svn.sourceforge.net/gtkpod/?rev=1722&view=rev
Author: teuf
Date: 2007-10-07 04:33:30 -0700 (Sun, 07 Oct 2007)
Log Message:
-----------
* src/itdb_device.c: (itdb_device_requires_checksum):
* src/itdb_itunesdb.c: (write_db_checksum):
* src/itdb_private.h: add an itdb_device_requires_checksum function so
that we only error out because of checksum writing issues on ipods which
require a checksum. Ideally, we should restore the old file when there is
a fatal checksum writing error, but libgpod isn't currently doing that
Modified Paths:
--------------
libgpod/trunk/ChangeLog
libgpod/trunk/src/itdb_device.c
libgpod/trunk/src/itdb_itunesdb.c
libgpod/trunk/src/itdb_private.h
Modified: libgpod/trunk/ChangeLog
===================================================================
--- libgpod/trunk/ChangeLog 2007-10-07 08:29:53 UTC (rev 1721)
+++ libgpod/trunk/ChangeLog 2007-10-07 11:33:30 UTC (rev 1722)
@@ -1,3 +1,12 @@
+2007-10-07 Christophe Fergeau <[EMAIL PROTECTED]>
+
+ * src/itdb_device.c: (itdb_device_requires_checksum):
+ * src/itdb_itunesdb.c: (write_db_checksum):
+ * src/itdb_private.h: add an itdb_device_requires_checksum function so
+ that we only error out because of checksum writing issues on ipods
which
+ require a checksum. Ideally, we should restore the old file when there
is
+ a fatal checksum writing error, but libgpod isn't currently doing that
+
2007-10-05 Christophe Fergeau <[EMAIL PROTECTED]>
* src/itdb_sha1.c: (generate_key): move cryptic calculations
Modified: libgpod/trunk/src/itdb_device.c
===================================================================
--- libgpod/trunk/src/itdb_device.c 2007-10-07 08:29:53 UTC (rev 1721)
+++ libgpod/trunk/src/itdb_device.c 2007-10-07 11:33:30 UTC (rev 1722)
@@ -1061,3 +1061,25 @@
}
return g_ascii_strtoull (fwid, NULL, 16);
}
+
+G_GNUC_INTERNAL gboolean itdb_device_requires_checksum (Itdb_Device *device)
+{
+ const Itdb_IpodInfo *info;
+
+ if (device == NULL) {
+ return FALSE;
+ }
+
+ info = itdb_device_get_ipod_info (device);
+ if (info == NULL) {
+ return FALSE;
+ }
+ switch (info->ipod_generation) {
+ case ITDB_IPOD_GENERATION_CLASSIC_1:
+ return TRUE;
+ case ITDB_IPOD_GENERATION_NANO_3:
+ return TRUE;
+ default:
+ return FALSE;
+ }
+}
Modified: libgpod/trunk/src/itdb_itunesdb.c
===================================================================
--- libgpod/trunk/src/itdb_itunesdb.c 2007-10-07 08:29:53 UTC (rev 1721)
+++ libgpod/trunk/src/itdb_itunesdb.c 2007-10-07 11:33:30 UTC (rev 1722)
@@ -4867,9 +4867,9 @@
unsigned char *itdb_data;
unsigned char *checksum;
gsize len;
-
+
fwid = itdb_device_get_firewire_id (fexp->itdb->device);
- if (fwid == 0) {
+ if ((fwid == 0) && (itdb_device_requires_checksum (fexp->itdb->device))) {
g_set_error (error, 0, -1, "Couldn't find the iPod firewire ID");
return FALSE;
}
Modified: libgpod/trunk/src/itdb_private.h
===================================================================
--- libgpod/trunk/src/itdb_private.h 2007-10-07 08:29:53 UTC (rev 1721)
+++ libgpod/trunk/src/itdb_private.h 2007-10-07 11:33:30 UTC (rev 1722)
@@ -156,4 +156,5 @@
G_GNUC_INTERNAL guint64 device_time_time_t_to_mac (Itdb_Device *device,
time_t timet);
G_GNUC_INTERNAL gint itdb_musicdirs_number_by_mountpoint (const gchar
*mountpoint);
+G_GNUC_INTERNAL gboolean itdb_device_requires_checksum (Itdb_Device *device);
#endif
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2