summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDennis Real <github@tildepipe.org>2012-02-05 16:56:29 +0100
committerDennis Real <github@tildepipe.org>2012-02-05 17:22:38 +0100
commite4483e5e25a1471728a31a18d22ba86def489509 (patch)
tree261a213cda215ceb59c8ffad2b2bd5ecd9a41796
parent0d7602ffa3ef7d610c2af355258e8fe40ad84b8f (diff)
- improved handling of images which have exif tags but not ours
- fixed uninitialized pointer in thumbnail mode - added nikon lens info if available
-rw-r--r--.gitignore1
-rw-r--r--config.mk2
-rw-r--r--src/exif.c8
-rw-r--r--src/filelist.c5
-rw-r--r--src/imlib.c2
5 files changed, 13 insertions, 5 deletions
diff --git a/.gitignore b/.gitignore
index dd0b562..559c5ab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
/src/*.inc
/src/feh
/man/*.1
+*~ \ No newline at end of file
diff --git a/config.mk b/config.mk
index 501ec89..d6a5a4f 100644
--- a/config.mk
+++ b/config.mk
@@ -21,7 +21,7 @@ curl ?= 1
debug ?= 0
help ?= 0
xinerama ?= 1
-exif ?= 0
+exif ?= 1
ifeq (${curl},1)
CFLAGS += -DHAVE_LIBCURL
diff --git a/src/exif.c b/src/exif.c
index 02154e4..9d26072 100644
--- a/src/exif.c
+++ b/src/exif.c
@@ -45,10 +45,10 @@ static void exif_trim_spaces(char *str)
{
if (*str != ' ')
{
- end = str;
+ end = str+1;
}
}
- *++end = '\0';
+ *end = '\0';
}
@@ -146,7 +146,7 @@ void exif_get_info(ExifData * ed, char *buffer, unsigned int maxsize)
{
return;
}
- else if (ed == NULL )
+ else if (ed == NULL)
{
snprintf(buffer, (size_t)maxsize, "%s\n", "No Exif data in file.");
return;
@@ -187,6 +187,8 @@ void exif_get_info(ExifData * ed, char *buffer, unsigned int maxsize)
{
/* Digital Vari-Program */
exif_get_mnote_tag(ed, 171, buffer + strlen(buffer), maxsize - strlen(buffer));
+ /* Lens */
+ exif_get_mnote_tag(ed, 132, buffer + strlen(buffer), maxsize - strlen(buffer));
}
}
diff --git a/src/filelist.c b/src/filelist.c
index 32bc2a5..9756c27 100644
--- a/src/filelist.c
+++ b/src/filelist.c
@@ -54,6 +54,9 @@ feh_file *feh_file_new(char *filename)
else
newfile->name = estrdup(filename);
newfile->info = NULL;
+#ifdef HAVE_LIBEXIF
+ newfile->ed = NULL;
+#endif
return(newfile);
}
@@ -70,7 +73,7 @@ void feh_file_free(feh_file * file)
if (file->info)
feh_file_info_free(file->info);
#ifdef HAVE_LIBEXIF
- if (file->info)
+ if (file->ed)
exif_data_unref(file->ed);
#endif
free(file);
diff --git a/src/imlib.c b/src/imlib.c
index 0b60180..197b8f5 100644
--- a/src/imlib.c
+++ b/src/imlib.c
@@ -522,6 +522,8 @@ void feh_draw_exif(winwidget w)
return;
}
+
+ buffer[0] = '\0';
exif_get_info(FEH_FILE(w->file->data)->ed, buffer, MAX_EXIF_DATA);
fn = feh_load_font(w);