Fix Issue 2536139 Camera testJpegExif cts test is failing.
Change-Id: Ia5ef0df9627504d8d0a165c74264448b59e499fc
diff --git a/gpsinfo.c b/gpsinfo.c
index 8508ef0..a0ebaea 100644
--- a/gpsinfo.c
+++ b/gpsinfo.c
@@ -140,9 +140,6 @@
strcpy(ImageInfo.GpsLat, "? ?");
strcpy(ImageInfo.GpsLong, "? ?");
ImageInfo.GpsAlt[0] = 0;
- memset(ImageInfo.GpsTimeStamp, 0, sizeof(ImageInfo.GpsTimeStamp));
- memset(ImageInfo.GpsDateStamp, 0, sizeof(ImageInfo.GpsDateStamp));
- memset(ImageInfo.GpsProcessingMethod, 0, sizeof(ImageInfo.GpsProcessingMethod));
for (de=0;de<NumDirEntries;de++){
unsigned Tag, Format, Components;
@@ -271,7 +268,7 @@
break;
case TAG_GPS_PROCESSING_METHOD:
- if (ByteCount > EXIF_ASCII_PREFIX_LEN &&
+ if (ByteCount > EXIF_ASCII_PREFIX_LEN &&
memcmp(ValuePtr, ExifAsciiPrefix, EXIF_ASCII_PREFIX_LEN) == 0) {
int length =
ByteCount < GPS_PROCESSING_METHOD_LEN + EXIF_ASCII_PREFIX_LEN ?
diff --git a/main.c b/main.c
index 110a5ed..1b1eabd 100644
--- a/main.c
+++ b/main.c
@@ -646,14 +646,22 @@
}
if (ImageInfo.GpsInfoPresent) {
- bufLen = addKeyValueString(&buf, bufLen, "GPSLatitude", ImageInfo.GpsLatRaw);
- if (bufLen == 0) return NULL;
- bufLen = addKeyValueString(&buf, bufLen, "GPSLatitudeRef", ImageInfo.GpsLatRef);
- if (bufLen == 0) return NULL;
- bufLen = addKeyValueString(&buf, bufLen, "GPSLongitude", ImageInfo.GpsLongRaw);
- if (bufLen == 0) return NULL;
- bufLen = addKeyValueString(&buf, bufLen, "GPSLongitudeRef", ImageInfo.GpsLongRef);
- if (bufLen == 0) return NULL;
+ if (ImageInfo.GpsLatRaw[0]) {
+ bufLen = addKeyValueString(&buf, bufLen, "GPSLatitude", ImageInfo.GpsLatRaw);
+ if (bufLen == 0) return NULL;
+ }
+ if (ImageInfo.GpsLatRef[0]) {
+ bufLen = addKeyValueString(&buf, bufLen, "GPSLatitudeRef", ImageInfo.GpsLatRef);
+ if (bufLen == 0) return NULL;
+ }
+ if (ImageInfo.GpsLongRaw[0]) {
+ bufLen = addKeyValueString(&buf, bufLen, "GPSLongitude", ImageInfo.GpsLongRaw);
+ if (bufLen == 0) return NULL;
+ }
+ if (ImageInfo.GpsLongRef[0]) {
+ bufLen = addKeyValueString(&buf, bufLen, "GPSLongitudeRef", ImageInfo.GpsLongRef);
+ if (bufLen == 0) return NULL;
+ }
if (ImageInfo.GpsAlt[0]) {
bufLen = addKeyValueString(&buf, bufLen, "GPSAltitude", ImageInfo.GpsAlt);
if (bufLen == 0) return NULL;