diff options
author | Ray Chen <raychen@google.com> | 2010-03-10 14:59:44 -0800 |
---|---|---|
committer | Ray Chen <raychen@google.com> | 2010-03-24 14:57:03 -0700 |
commit | 8d61723fea0a5cdcd08e34325123fbd3e0bd41ae (patch) | |
tree | 15780780892392eb85be5471e3e3fbd8f8f5a9aa | |
parent | 6b7eabd0019e37134e6cb525359d33b3529bcec9 (diff) | |
download | jhead-tools_r7.tar.gz |
Fix Issue 2536139 Camera testJpegExif cts test is failing.android-sdk-tools_r7android-sdk-tools_r6android-sdk-2.2_r2android-sdk-2.2_r1android-cts-2.2_r8android-cts-2.2_r7android-cts-2.2_r6android-cts-2.2_r5android-cts-2.2_r4android-cts-2.2_r3android-cts-2.2_r2android-cts-2.2_r1android-adt-0.9.9android-adt-0.9.8android-2.2_r1.3android-2.2_r1.2android-2.2_r1.1android-2.2_r1android-2.2.3_r2.1android-2.2.3_r2android-2.2.3_r1android-2.2.2_r1android-2.2.1_r2android-2.2.1_r1tools_r7froyo-releasefroyo
Change-Id: Ia5ef0df9627504d8d0a165c74264448b59e499fc
-rw-r--r-- | gpsinfo.c | 5 | ||||
-rw-r--r-- | main.c | 24 |
2 files changed, 17 insertions, 12 deletions
@@ -140,9 +140,6 @@ void ProcessGpsInfo(unsigned char * DirStart, int ByteCountUnused, unsigned char 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 @@ void ProcessGpsInfo(unsigned char * DirStart, int ByteCountUnused, unsigned char 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 ? @@ -646,14 +646,22 @@ static jstring getAttributes(JNIEnv *env, jobject jobj, jstring jfilename) } 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; |