diff src/cache-loader.c @ 1288:10073464e6aa

use metadata_read_* functions where possible switch exiv2 to utf8 charset support for exiv2 formatting that depends on other tags: http://dev.robotbattle.com/bugs/view.php?id=0000516
author nadvornik
date Sat, 07 Feb 2009 19:01:21 +0000
parents 8b89e3ff286b
children c9949c19a6d0
line wrap: on
line diff
--- a/src/cache-loader.c	Fri Feb 06 23:49:03 2009 +0000
+++ b/src/cache-loader.c	Sat Feb 07 19:01:21 2009 +0000
@@ -16,6 +16,7 @@
 
 #include "filedata.h"
 #include "exif.h"
+#include "metadata.h"
 #include "md5-util.h"
 #include "ui_fileops.h"
 
@@ -125,31 +126,24 @@
 		 !cl->cd->have_date)
 		{
 		time_t date = -1;
-		ExifData *exif;
+		gchar *text;
 
-		exif = exif_read_fd(cl->fd);
-		if (exif)
+		text =  metadata_read_string(cl->fd, "formatted.DateTime", METADATA_FORMATTED);
+		if (text)
 			{
-			gchar *text;
+			struct tm t;
 
-			text = exif_get_data_as_text(exif, "formatted.DateTime");
-			if (text)
-				{
-				struct tm t;
+			memset(&t, 0, sizeof(t));
 
-				memset(&t, 0, sizeof(t));
-
-				if (sscanf(text, "%d:%d:%d %d:%d:%d", &t.tm_year, &t.tm_mon, &t.tm_mday,
-					   &t.tm_hour, &t.tm_min, &t.tm_sec) == 6)
-					{
-					t.tm_year -= 1900;
-					t.tm_mon -= 1;
-					t.tm_isdst = -1;
-					date = mktime(&t);
-					}
-				g_free(text);
+			if (sscanf(text, "%d:%d:%d %d:%d:%d", &t.tm_year, &t.tm_mon, &t.tm_mday,
+				   &t.tm_hour, &t.tm_min, &t.tm_sec) == 6)
+				{
+				t.tm_year -= 1900;
+				t.tm_mon -= 1;
+				t.tm_isdst = -1;
+				date = mktime(&t);
 				}
-			exif_free_fd(cl->fd, exif);
+			g_free(text);
 			}
 
 		cl->cd->date = date;