about summary refs log tree commit diff
path: root/converter/other/exif.c
diff options
context:
space:
mode:
Diffstat (limited to 'converter/other/exif.c')
-rw-r--r--converter/other/exif.c23
1 files changed, 18 insertions, 5 deletions
diff --git a/converter/other/exif.c b/converter/other/exif.c
index 19f108a7..f9592d6c 100644
--- a/converter/other/exif.c
+++ b/converter/other/exif.c
@@ -86,6 +86,9 @@ static int BytesPerFormat[] = {0,1,1,2,4,8,1,1,2,4,8,4,8};
 
 #define TAG_ORIENTATION       0x0112
 
+#define TAG_XRESOLUTION       0x011A
+#define TAG_YRESOLUTION       0x011B
+
 #define TAG_EXPOSURETIME      0x829A
 #define TAG_FNUMBER           0x829D
 
@@ -472,15 +475,25 @@ ProcessExifDir(unsigned char *  const ExifData,
         switch(Tag){
 
             case TAG_MAKE:
-                strncpy(ImageInfoP->CameraMake, (char*)ValuePtr, 31);
+                STRSCPY(ImageInfoP->CameraMake, (char*)ValuePtr);
                 break;
 
             case TAG_MODEL:
-                strncpy(ImageInfoP->CameraModel, (char*)ValuePtr, 39);
+                STRSCPY(ImageInfoP->CameraModel, (char*)ValuePtr);
                 break;
 
+            case TAG_XRESOLUTION:
+                ImageInfoP->XResolution = 
+                    ConvertAnyFormat(ValuePtr, Format);
+                break;
+    
+            case TAG_YRESOLUTION:
+                ImageInfoP->YResolution = 
+                    ConvertAnyFormat(ValuePtr, Format);
+                break;
+    
             case TAG_DATETIME_ORIGINAL:
-                strncpy(ImageInfoP->DateTime, (char*)ValuePtr, 19);
+                STRSCPY(ImageInfoP->DateTime, (char*)ValuePtr);
                 ImageInfoP->DatePointer = (char*)ValuePtr;
                 break;
 
@@ -838,8 +851,8 @@ ShowImageInfo(ImageInfo_t * const ImageInfoP)
     if (ImageInfoP->DateTime[0]){
         fprintf(stderr, "Date/Time    : %s\n",ImageInfoP->DateTime);
     }
-    fprintf(stderr, "Resolution   : %d x %d\n",
-            ImageInfoP->Width, ImageInfoP->Height);
+    fprintf(stderr, "Resolution   : %f x %f\n",
+            ImageInfoP->XResolution, ImageInfoP->YResolution);
     if (ImageInfoP->Orientation > 1){
 
         /* Only print orientation if one was supplied, and if its not