diff options
author | Jorg Schuler <jcsjcs@users.sourceforge.net> | 2007-04-30 00:40:55 +0000 |
---|---|---|
committer | Jorg Schuler <jcsjcs@users.sourceforge.net> | 2007-04-30 00:40:55 +0000 |
commit | 5d6799549c3e9f155b489cd9f1be6b431096a611 (patch) | |
tree | 17538566d5207ae866482ab4212665b259aaf7c9 | |
parent | 2d34a240529a7774e4b74a6eb3b351af9ced0ce9 (diff) | |
download | libgpod-5d6799549c3e9f155b489cd9f1be6b431096a611.tar.gz libgpod-5d6799549c3e9f155b489cd9f1be6b431096a611.tar.xz libgpod-5d6799549c3e9f155b489cd9f1be6b431096a611.zip |
* src/itdb_itunesdb (itdb_parse_internal): fixed compile warning
(thanks to Daniele Forsi).
* tests/test-ls.c (display_recently_played): fixed compile warning
(thanks to Daniele Forsi).
* tests/get-timezone.c: added to CVS (thanks to Daniele Forsi).
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1422 f01d2545-417e-4e96-918e-98f8d0dbbcb6
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | src/itdb_itunesdb.c | 2 | ||||
-rw-r--r-- | tests/get-timezone.c | 82 | ||||
-rw-r--r-- | tests/test-ls.c | 4 |
4 files changed, 95 insertions, 3 deletions
@@ -1,3 +1,13 @@ +2007-04-30 Jorg Schuler <jcsjcs at users.sourceforge.net> + + * src/itdb_itunesdb (itdb_parse_internal): fixed compile warning + (thanks to Daniele Forsi). + + * tests/test-ls.c (display_recently_played): fixed compile warning + (thanks to Daniele Forsi). + + * tests/get-timezone.c: added to CVS (thanks to Daniele Forsi). + 2007-04-28 Jorg Schuler <jcsjcs at users.sourceforge.net> * src/itdb.h: added padding to exported structures so new entries diff --git a/src/itdb_itunesdb.c b/src/itdb_itunesdb.c index 9742bf2..1114886 100644 --- a/src/itdb_itunesdb.c +++ b/src/itdb_itunesdb.c @@ -2864,7 +2864,7 @@ static gboolean itdb_parse_internal (Itdb_iTunesDB *itdb, GError **error) { FImport *fimp; - gboolean success; + gboolean success = FALSE; g_return_val_if_fail (itdb->filename != NULL, FALSE); diff --git a/tests/get-timezone.c b/tests/get-timezone.c new file mode 100644 index 0000000..1c612d2 --- /dev/null +++ b/tests/get-timezone.c @@ -0,0 +1,82 @@ +/* + * Compile with: + * gcc $(pkg-config --cflags --libs libgpod-1.0) -o tz ./get-timezone.c + * + * then run: + * ./tz <ipod-mountpoint> + * + * This should output something like: + * Timezone: UTC+1 DST + * + * which means I'm living in an UTC+1 timezone with DST which adds a 1 hour + * shift, ie my local time is UTC+2. DST won't be shown if not active. + * + */ + +#include <errno.h> +#include <stdio.h> +#include <itdb.h> + +int main (int argc, char **argv) +{ + char *mountpoint; + char *device_dir; + char *prefs_filename; + FILE *f; + int result; + gint32 timezone; + const int GMT_OFFSET = 0x19; + + if (argc >= 2) { + mountpoint = argv[1]; + } else { + g_print ("Usage: %s <mountpoint>\n\n", g_basename(argv[0])); + return -1; + } + + device_dir = itdb_get_device_dir (mountpoint); + if (device_dir == NULL) { + g_print ("No iPod mounted at %s\n", mountpoint); + return -1; + } + prefs_filename = itdb_get_path (device_dir, "Preferences"); + g_free (device_dir); + + f = fopen (prefs_filename, "r"); + if (f == NULL) { + g_print ("Couldn't open %s: %s\n", prefs_filename, g_strerror (errno)); + g_free (prefs_filename); + return -1; + } + + result = fseek (f, 0xB10, SEEK_SET); + if (result != 0) { + g_print ("Couldn't seek in %s: %s\n", prefs_filename, + g_strerror (errno)); + fclose (f); + g_free (prefs_filename); + return -1; + } + + result = fread (&timezone, sizeof (timezone), 1, f); + if (result != 1) { + g_print ("Couldn't read from %s: %s\n", prefs_filename, + g_strerror (errno)); + fclose (f); + g_free (prefs_filename); + } + + fclose (f); + g_free (prefs_filename); + + timezone = GINT32_FROM_LE (timezone); + timezone -= GMT_OFFSET; + + g_print ("Timezone: UTC%+d", timezone >> 1); + if (timezone & 1) { + g_print (" DST"); + } + g_print ("\n"); + + return 0; +} diff --git a/tests/test-ls.c b/tests/test-ls.c index 635ce44..1488da6 100644 --- a/tests/test-ls.c +++ b/tests/test-ls.c @@ -52,10 +52,10 @@ display_recently_played (Itdb_iTunesDB *db) g_print ("%s - %s - %s:\n", track->artist, track->album, track->title); - strftime (date, sizeof (date), "%D %H:%M:%S", + strftime (date, sizeof (date), "%F %H:%M:%S", gmtime (&track_time)); g_print ("\tUTC: %s\n", date); - strftime (date, sizeof (date), "%D %H:%M:%S", + strftime (date, sizeof (date), "%F %H:%M:%S", localtime (&track_time)); g_print ("\tlocal: %s\n", date); g_print ("track: %ld ", track_time); |