diff src/exif.c @ 1238:947e603a52c6

simplified metadata interface, dropped metadata_read, fixes for older exiv2 versions
author nadvornik
date Sat, 10 Jan 2009 20:40:37 +0000
parents e2bbe90b0dcd
children 8b89e3ff286b
line wrap: on
line diff
--- a/src/exif.c	Sun Jan 04 17:14:34 2009 +0000
+++ b/src/exif.c	Sat Jan 10 20:40:37 2009 +0000
@@ -1367,7 +1367,7 @@
 				}
 			break;
 		case EXIF_FORMAT_STRING:
-			string = g_string_append(string, (gchar *)(item->data));
+			if (item->data) string = g_string_append(string, (gchar *)(item->data));
 			break;
 		case EXIF_FORMAT_SHORT_UNSIGNED:
 			if (ne == 1 && marker->list)
@@ -1596,6 +1596,19 @@
 	return 0;
 }
 
+GList *exif_get_metadata(ExifData *exif, const gchar *key)
+{
+	gchar *str;
+	ExifItem *item = exif_get_item(exif, key);
+	if (!item) return NULL;
+	
+	str = exif_item_get_string(item, 0);
+	
+	if (!str) return NULL;
+	
+	return g_list_append(NULL, str);
+}
+
 typedef struct _UnmapData UnmapData;
 struct _UnmapData
 {