From b1e497e7555d2c72fb8b64a00c3e6804f36bd62f Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Mon, 6 Feb 2012 11:08:58 +0100 Subject: EXIF fixes by reald (closes #80) commit 9c8226a1a54d1246e086923bb1b36e3827b25767 Merge: e4483e5 132ecc0 Author: Dennis Real Date: Sun Feb 5 17:24:17 2012 +0100 Merge branch 'master' of ssh://github.com/reald/feh commit e4483e5e25a1471728a31a18d22ba86def489509 Author: Dennis Real Date: Sun Feb 5 16:56:29 2012 +0100 - improved handling of images which have exif tags but not ours - fixed uninitialized pointer in thumbnail mode - added nikon lens info if available commit 132ecc0f9f0a2243c4f6745d0af36be810bf9eba Author: Dennis Real Date: Sun Feb 5 16:56:29 2012 +0100 - improved handling of images which have exif tags but not ours - fixed uninitialzed pointer in thumbnail mode - added nikon lens info if available --- .gitignore | 1 + src/exif.c | 8 +++++--- src/filelist.c | 5 ++++- src/imlib.c | 2 ++ 4 files changed, 12 insertions(+), 4 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/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); -- cgit v1.2.3