From 60667a92731988f2f4d0e81db9e3dc71e32219cc Mon Sep 17 00:00:00 2001 From: zhang-xiaobo1997 Date: Wed, 27 Apr 2022 16:40:59 +0800 Subject: [PATCH] modify for vesion to 6.22 Signed-off-by: zhang-xiaobo1997 --- .cirrus.yml | 0 .travis.yml | 0 README | 17 +++- SECURITY.md | 2 +- libexif/canon/exif-mnote-data-canon.c | 10 +-- libexif/canon/exif-mnote-data-canon.h | 6 +- libexif/canon/mnote-canon-entry.c | 1 - libexif/canon/mnote-canon-entry.h | 6 +- libexif/canon/mnote-canon-tag.c | 79 ------------------- libexif/canon/mnote-canon-tag.h | 78 ++---------------- libexif/exif-byte-order.h | 6 +- libexif/exif-content.h | 6 +- libexif/exif-data-type.h | 6 +- libexif/exif-data.h | 6 +- libexif/exif-entry.h | 6 +- libexif/exif-format.h | 6 +- libexif/exif-ifd.h | 6 +- libexif/exif-loader.h | 6 +- libexif/exif-log.h | 6 +- libexif/exif-mem.h | 6 +- libexif/exif-mnote-data-priv.h | 6 +- libexif/exif-mnote-data.h | 6 +- libexif/exif-system.h | 6 +- libexif/exif-tag.h | 16 +--- libexif/exif-utils.c | 4 +- libexif/exif-utils.h | 6 +- libexif/fuji/exif-mnote-data-fuji.c | 8 -- libexif/fuji/exif-mnote-data-fuji.h | 6 +- libexif/fuji/mnote-fuji-entry.h | 6 +- libexif/fuji/mnote-fuji-tag.h | 8 +- libexif/i18n.h | 6 +- m4m/failmalloc.m4 | 2 +- m4m/gp-check-shell-environment.m4 | 2 +- m4m/gp-documentation.m4 | 2 +- m4m/stdint.m4 | 2 +- po/da.po | 8 +- test/.gitignore | 0 test/check-vars.sh.in | 4 + test/extract-parse.sh | 23 +----- test/parse-regression.sh | 14 +--- test/swap-byte-order.sh | 12 +-- .../canon_makernote_variant_1.jpg.parsed | 18 ++--- .../olympus_makernote_variant_2.jpg.parsed | 6 +- 43 files changed, 122 insertions(+), 308 deletions(-) create mode 100644 .cirrus.yml create mode 100644 .travis.yml create mode 100644 test/.gitignore create mode 100644 test/check-vars.sh.in diff --git a/.cirrus.yml b/.cirrus.yml new file mode 100644 index 0000000..e69de29 diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..e69de29 diff --git a/README b/README index eb07b1f..b190446 100644 --- a/README +++ b/README @@ -41,9 +41,8 @@ the results available at https://libexif.github.io/api/ The short test programs in the test directory illustrates how to create valid EXIF data from scratch, how to save EXIF data and how to load EXIF -data from data in memory. To run the test programs, just run make check. -There are also a few simple example programs available in the -contrib/examples/ directory. Don't hesitate to contact +data from data in memory. There are also a few simple example programs +available in the contrib/examples/ directory. Don't hesitate to contact us at if you have any questions on how to use libexif. @@ -95,6 +94,18 @@ to build. Building from the source tar ball usually involves the commands: When building from source out of git, something like the following will be necessary: + gettextize + mv po/Makevars.template po/Makevars + aclocal -I auto-m4 -I m4m + autoheader + libtoolize --force + automake --add-missing + autoconf + ./configure + make + +Or, probably just: + autoreconf -i ./configure make diff --git a/SECURITY.md b/SECURITY.md index 7b6a4dd..2d335a9 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -40,4 +40,4 @@ Crashes caused by debugging functionality are not in scope. Bugreports can be filed as github issues. -If you want to report an embargoed security bug report, reach out to dan@coneharvesters.com and marcus@jet.franken.de. +If you want to report an embargoed security bug report, reach out to dan@coneharvesters.com. diff --git a/libexif/canon/exif-mnote-data-canon.c b/libexif/canon/exif-mnote-data-canon.c index 4738058..9953952 100644 --- a/libexif/canon/exif-mnote-data-canon.c +++ b/libexif/canon/exif-mnote-data-canon.c @@ -228,13 +228,6 @@ exif_mnote_data_canon_load (ExifMnoteData *ne, /* Read the number of tags */ c = exif_get_short (buf + datao, n->order); datao += 2; - /* Just use an arbitrary max tag limit here to avoid needing to much memory or time. There are 24 named tags currently. - * current 2020 camera EOS M6 Mark 2 had 156 entries. - * The format allows specifying the same range of memory as often as it can, so this multiplies quickly. */ - if (c > 250) { - exif_log (ne->log, EXIF_LOG_CODE_CORRUPT_DATA, "ExifMnoteCanon", "Too much tags (%d) in Canon MakerNote", c); - return; - } /* Remove any old entries */ exif_mnote_data_canon_clear (n); @@ -398,11 +391,10 @@ exif_mnote_data_canon_identify (const ExifData *ed, const ExifEntry *e) { char value[8]; + (void) e; /* unused */ ExifEntry *em = exif_data_get_entry (ed, EXIF_TAG_MAKE); if (!em) return 0; - - (void) e; /* unused */ return !strcmp (exif_entry_get_value (em, value, sizeof (value)), "Canon"); } diff --git a/libexif/canon/exif-mnote-data-canon.h b/libexif/canon/exif-mnote-data-canon.h index 10f7665..0be8bcd 100644 --- a/libexif/canon/exif-mnote-data-canon.h +++ b/libexif/canon/exif-mnote-data-canon.h @@ -20,8 +20,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_EXIF_MNOTE_DATA_CANON_H -#define LIBEXIF_EXIF_MNOTE_DATA_CANON_H +#ifndef __EXIF_MNOTE_DATA_CANON_H__ +#define __EXIF_MNOTE_DATA_CANON_H__ #include #include @@ -57,4 +57,4 @@ int exif_mnote_data_canon_identify (const ExifData *ed, const ExifEntry *e); ExifMnoteData *exif_mnote_data_canon_new (ExifMem *mem, ExifDataOption o); -#endif /* !defined(LIBEXIF_EXIF_MNOTE_DATA_CANON_H) */ +#endif /* __EXIF_MNOTE_DATA_CANON_H__ */ diff --git a/libexif/canon/mnote-canon-entry.c b/libexif/canon/mnote-canon-entry.c index de0fac4..9ddeaa5 100644 --- a/libexif/canon/mnote-canon-entry.c +++ b/libexif/canon/mnote-canon-entry.c @@ -703,7 +703,6 @@ mnote_canon_entry_get_value (const MnoteCanonEntry *entry, unsigned int t, char case MNOTE_CANON_TAG_OWNER: CC (entry->components, 32, val, maxlen) /* Fall through; ImageType can have many sizes */ - /* fall through */ case MNOTE_CANON_TAG_IMAGE_TYPE: CF (entry->format, EXIF_FORMAT_ASCII, val, maxlen) strncpy (val, (char *)data, MIN (entry->size, maxlen)); diff --git a/libexif/canon/mnote-canon-entry.h b/libexif/canon/mnote-canon-entry.h index 9cce0ab..953c2f3 100644 --- a/libexif/canon/mnote-canon-entry.h +++ b/libexif/canon/mnote-canon-entry.h @@ -20,8 +20,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_MNOTE_CANON_ENTRY_H -#define LIBEXIF_MNOTE_CANON_ENTRY_H +#ifndef __MNOTE_CANON_ENTRY_H__ +#define __MNOTE_CANON_ENTRY_H__ #include #include @@ -43,4 +43,4 @@ struct _MnoteCanonEntry { unsigned int mnote_canon_entry_count_values (const MnoteCanonEntry *); char *mnote_canon_entry_get_value (const MnoteCanonEntry *, unsigned int t, char *val, unsigned int maxlen); -#endif /* !defined(LIBEXIF_MNOTE_CANON_ENTRY_H) */ +#endif /* __MNOTE_CANON_ENTRY_H__ */ diff --git a/libexif/canon/mnote-canon-tag.c b/libexif/canon/mnote-canon-tag.c index 33d2e6b..38e112e 100644 --- a/libexif/canon/mnote-canon-tag.c +++ b/libexif/canon/mnote-canon-tag.c @@ -44,71 +44,7 @@ static const struct { {MNOTE_CANON_TAG_OWNER, "OwnerName", N_("Owner Name"), ""}, {MNOTE_CANON_TAG_COLOR_INFORMATION, "ColorInformation", N_("Color Information"), ""}, {MNOTE_CANON_TAG_SERIAL_NUMBER, "SerialNumber", N_("Serial Number"), ""}, - {MNOTE_CANON_TAG_CAMERA_INFO, "CameraInfo", N_("Camera Info"), ""}, - {MNOTE_CANON_TAG_FILE_LENGTH, "FileLength", N_("File Length"), ""}, {MNOTE_CANON_TAG_CUSTOM_FUNCS, "CustomFunctions", N_("Custom Functions"), ""}, - {MNOTE_CANON_TAG_MODEL_ID,"ModelID", N_("Model ID"), ""}, - {MNOTE_CANON_TAG_MOVIE_INFO,"MovieInfo", N_("Movie Info"), ""}, - {MNOTE_CANON_TAG_AF_INFO,"AFInfo", N_("AF Info"), ""}, - {MNOTE_CANON_TAG_THUMBNAIL_VALID_AREA,"ThumbnailValidArea", N_("Thumbnail Valid Area"), ""}, - {MNOTE_CANON_TAG_SERIAL_NUMBER_FORMAT,"SerialNumberFormat", N_("Serial Number Format"), ""}, - {MNOTE_CANON_TAG_SUPER_MACRO,"SuperMacro", N_("Super Macro"), ""}, - {MNOTE_CANON_TAG_DATE_STAMP_MODE,"DateStampMode", N_("Date Stamp Mode"), ""}, - {MNOTE_CANON_TAG_MY_COLORS,"MyColors", N_("My Colors"), ""}, - {MNOTE_CANON_TAG_FIRMWARE_REVISION,"FirmwareRevision", N_("Firmware Revision"), ""}, - {MNOTE_CANON_TAG_CATEGORIES,"Categories", N_("Categories"), ""}, - {MNOTE_CANON_TAG_FACEDETECT1,"FaceDetect1", N_("Face Detect 1"), ""}, - {MNOTE_CANON_TAG_FACEDETECT2,"FaceDetect2", N_("Face Detect 2"), ""}, - {MNOTE_CANON_TAG_AF_INFO2,"AFInfo2", N_("AF Info 2"), ""}, - {MNOTE_CANON_TAG_CONTRAST_INFO,"ContrastInfo", N_("Contrast Info"), ""}, - {MNOTE_CANON_TAG_IMAGE_UNIQUE_ID,"ImageUniqueID", N_("Image Unique ID"), ""}, - {MNOTE_CANON_TAG_WB_INFO,"WBInfo", N_("WB Info"), ""}, - {MNOTE_CANON_TAG_FACEDETECT3,"FaceDetect3", N_("Face Detect 3"), ""}, - {MNOTE_CANON_TAG_TIMEINFO,"TimeInfo", N_("Time Info"), ""}, - {MNOTE_CANON_TAG_BATTERY_TYPE,"Battery Type", N_("Battery Type"), ""}, - {MNOTE_CANON_TAG_AF_INFO3,"AFInfo3", N_("AF Info 3"), ""}, - {MNOTE_CANON_TAG_RAW_DATA_OFFSET,"RawDataOffset", N_("Raw Data Offset"), ""}, - {MNOTE_CANON_TAG_ORIGINAL_DECISION_DATA_OFFSET,"OriginalDecisionDataOffset", N_("Original Decision Data Offset"), ""}, - {MNOTE_CANON_TAG_PERSONAL_FUNCTIONS,"PesonalFunctions", N_("Personal Functions"), ""}, - {MNOTE_CANON_TAG_PERSONAL_FUNCTIONS_VALUES,"PersonalFunctionsValues", N_("Personal Functions Values"), ""}, - {MNOTE_CANON_TAG_FILE_INFO,"FileInfo", N_("File Info"), ""}, - {MNOTE_CANON_TAG_LENS_MODEL,"LensModel", N_("Lens Model"), ""}, - {MNOTE_CANON_TAG_CMOS_SERIAL,"CMOSSerialNumber", N_("CMOS Serial Number"), ""}, - {MNOTE_CANON_TAG_DUST_REMOVAL_DATA,"DustRemovalData", N_("Dust Removal Data"), ""}, - {MNOTE_CANON_TAG_CROP_INFO,"CropInfo", N_("Crop Info"), ""}, - {MNOTE_CANON_TAG_CUSTOM_FUNCTIONS2,"CustomFunctions2", N_("Custom Functions 2"), ""}, - {MNOTE_CANON_TAG_ASPECT_INFO,"AspectInfo", N_("Aspect Info"), ""}, - {MNOTE_CANON_TAG_TONE_CURVE_TABLE,"ToneCurveTable", N_("Tone Curve Table"), ""}, - {MNOTE_CANON_TAG_SHARPNESS_TABLE,"SharpnessTable", N_("Sharpness Table"), ""}, - {MNOTE_CANON_TAG_SHARPNESS_FREQ_TABLE,"SharpnessFreqTable", N_("Sharpness Frequency Table"), ""}, - {MNOTE_CANON_TAG_WHITEBALANCE_TABLE,"WhitebalanceTable", N_("Whitebalance Table"), ""}, - {MNOTE_CANON_TAG_COLOR_BALANCE,"ColorBalance", N_("Color Balance"), ""}, - {MNOTE_CANON_TAG_MEASURED_COLOR,"MeasuredColor", N_("Measured Color"), ""}, - {MNOTE_CANON_TAG_COLOR_TEMPERATURE,"ColorTemperature", N_("Color Temperature"), ""}, - {MNOTE_CANON_TAG_CANON_FLAGS,"CanonFlags", N_("Canon Flags"), ""}, - {MNOTE_CANON_TAG_MODIFIED_INFO,"ModifiedInfo", N_("Modified Info"), ""}, - {MNOTE_CANON_TAG_TONECURVE_MATCHING,"TonecurveMatching", N_("Tonecurve Matching"), ""}, - {MNOTE_CANON_TAG_WHITEBALANCE_MATCHING,"WhitebalanceMatching", N_("Whitebalance Matching"), ""}, - {MNOTE_CANON_TAG_COLOR_SPACE,"ColorSpace", N_("Color Space"), ""}, - {MNOTE_CANON_TAG_PREVIEW_IMAGE_INFO,"PreviewImageInfo", N_("Preview Image Info"), ""}, - {MNOTE_CANON_TAG_VRD_OFFSET,"VRDOffset", N_("VRD Offset"), ""}, - {MNOTE_CANON_TAG_SENSOR_INFO,"SensorInfo", N_("Sensor Info"), ""}, - {MNOTE_CANON_TAG_WB_PACKET,"WBPacket", N_("WB Packet"), ""}, - {MNOTE_CANON_TAG_FLAVOR,"Flavor", N_("Flavor"), ""}, - {MNOTE_CANON_TAG_PICTURESTYLE_USERDEF,"PictureStyleUserDef", N_("Picture Style Userdefined"), ""}, - {MNOTE_CANON_TAG_PICTURESTYLE_PC,"PictureStylePC", N_("Picture Style PC"), ""}, - {MNOTE_CANON_TAG_CUSTOMPICTURE_STYLE_FN,"CustomPictureStyleFN", N_("Custom Picture Style Filename"), ""}, - {MNOTE_CANON_TAG_AF_MICRO_ADJUST,"AFMicroAdjust", N_("AF Micro Adjust"), ""}, - {MNOTE_CANON_TAG_VIGNETTING_CORRECT,"VignettingCorrect", N_("Vignetting Correct"), ""}, - {MNOTE_CANON_TAG_VIGNETTING_CORRECT2,"VignettingCorrect2", N_("Vignetting Correct 2"), ""}, - {MNOTE_CANON_TAG_LIGHTINGOPT,"LightingOpt", N_("LightingOpt"), ""}, - {MNOTE_CANON_TAG_LENS_INFO,"LensInfo", N_("Lens Info"), ""}, - {MNOTE_CANON_TAG_AMBIENCE_INFO,"AmbienceInfo", N_("Ambience_Info"), ""}, - {MNOTE_CANON_TAG_MULTI_EXPOSURE,"MultiExposure", N_("Multi Exposure"), ""}, - {MNOTE_CANON_TAG_FILTER_INFO,"FilterInfo", N_("Filter Info"), ""}, - {MNOTE_CANON_TAG_HDR_INFO,"HDRInfo", N_("HDR Info"), ""}, - {MNOTE_CANON_TAG_AF_CONFIG,"AFConfig", N_("AF Config"), ""}, - {MNOTE_CANON_TAG_RAW_BURST_INFO,"RawBurstInfo", N_("Raw Burst Info"), ""}, #endif {0, NULL, NULL, NULL} }; @@ -151,11 +87,9 @@ static const struct { {MNOTE_CANON_TAG_SETTINGS_1, 34, N_("Display Aperture")}, {MNOTE_CANON_TAG_SETTINGS_1, 35, N_("Zoom Source Width")}, {MNOTE_CANON_TAG_SETTINGS_1, 36, N_("Zoom Target Width")}, - {MNOTE_CANON_TAG_SETTINGS_1, 38, N_("Spot Metering Mode")}, {MNOTE_CANON_TAG_SETTINGS_1, 39, N_("Photo Effect")}, {MNOTE_CANON_TAG_SETTINGS_1, 40, N_("Manual Flash Output")}, {MNOTE_CANON_TAG_SETTINGS_1, 41, N_("Color Tone")}, - {MNOTE_CANON_TAG_SETTINGS_1, 45, N_("SRAW Quality")}, {MNOTE_CANON_TAG_FOCAL_LENGTH, 0, N_("Focal Type")}, {MNOTE_CANON_TAG_FOCAL_LENGTH, 1, N_("Focal Length")}, {MNOTE_CANON_TAG_FOCAL_LENGTH, 2, N_("Focal Plane X Size")}, @@ -169,19 +103,15 @@ static const struct { {MNOTE_CANON_TAG_SETTINGS_2, 6, N_("White Balance")}, {MNOTE_CANON_TAG_SETTINGS_2, 7, N_("Slow Shutter")}, {MNOTE_CANON_TAG_SETTINGS_2, 8, N_("Sequence Number")}, - {MNOTE_CANON_TAG_SETTINGS_2, 9, N_("Optical Zoom Code")}, - {MNOTE_CANON_TAG_SETTINGS_2, 11, N_("Camera Temperature")}, {MNOTE_CANON_TAG_SETTINGS_2, 12, N_("Flash Guide Number")}, {MNOTE_CANON_TAG_SETTINGS_2, 13, N_("AF Point")}, {MNOTE_CANON_TAG_SETTINGS_2, 14, N_("Flash Exposure Compensation")}, {MNOTE_CANON_TAG_SETTINGS_2, 15, N_("AE Bracketing")}, {MNOTE_CANON_TAG_SETTINGS_2, 16, N_("AE Bracket Value")}, - {MNOTE_CANON_TAG_SETTINGS_2, 17, N_("Control Mode")}, {MNOTE_CANON_TAG_SETTINGS_2, 18, N_("Focus Distance Upper")}, {MNOTE_CANON_TAG_SETTINGS_2, 19, N_("Focus Distance Lower")}, {MNOTE_CANON_TAG_SETTINGS_2, 20, N_("F-Number")}, {MNOTE_CANON_TAG_SETTINGS_2, 21, N_("Exposure Time")}, - {MNOTE_CANON_TAG_SETTINGS_2, 22, N_("Measured EV 2")}, {MNOTE_CANON_TAG_SETTINGS_2, 23, N_("Bulb Duration")}, {MNOTE_CANON_TAG_SETTINGS_2, 25, N_("Camera Type")}, {MNOTE_CANON_TAG_SETTINGS_2, 26, N_("Auto Rotate")}, @@ -191,18 +121,9 @@ static const struct { {MNOTE_CANON_TAG_PANORAMA, 2, N_("Panorama Frame")}, {MNOTE_CANON_TAG_PANORAMA, 5, N_("Panorama Direction")}, {MNOTE_CANON_TAG_COLOR_INFORMATION, 0, N_("Tone Curve")}, - {MNOTE_CANON_TAG_COLOR_INFORMATION, 1, N_("Sharpness")}, {MNOTE_CANON_TAG_COLOR_INFORMATION, 2, N_("Sharpness Frequency")}, - {MNOTE_CANON_TAG_COLOR_INFORMATION, 3, N_("Sensor Red Level")}, - {MNOTE_CANON_TAG_COLOR_INFORMATION, 4, N_("Sensor Blue Level")}, - {MNOTE_CANON_TAG_COLOR_INFORMATION, 5, N_("White Balance Red")}, - {MNOTE_CANON_TAG_COLOR_INFORMATION, 6, N_("White Balance Blue")}, {MNOTE_CANON_TAG_COLOR_INFORMATION, 7, N_("White Balance")}, - {MNOTE_CANON_TAG_COLOR_INFORMATION, 8, N_("Color Temperature")}, {MNOTE_CANON_TAG_COLOR_INFORMATION, 9, N_("Picture Style")}, - {MNOTE_CANON_TAG_COLOR_INFORMATION, 10, N_("Digital Gain")}, - {MNOTE_CANON_TAG_COLOR_INFORMATION, 11, N_("White Balance Shift AB")}, - {MNOTE_CANON_TAG_COLOR_INFORMATION, 12, N_("White Balance Shift GM")}, #endif {0, 0, NULL} }; diff --git a/libexif/canon/mnote-canon-tag.h b/libexif/canon/mnote-canon-tag.h index 19839ad..3b19f0a 100644 --- a/libexif/canon/mnote-canon-tag.h +++ b/libexif/canon/mnote-canon-tag.h @@ -20,8 +20,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_MNOTE_CANON_TAG_H -#define LIBEXIF_MNOTE_CANON_TAG_H +#ifndef __MNOTE_CANON_TAG_H__ +#define __MNOTE_CANON_TAG_H__ #include @@ -31,10 +31,10 @@ extern "C" { enum _MnoteCanonTag { MNOTE_CANON_TAG_UNKNOWN_0 = 0x0, - MNOTE_CANON_TAG_SETTINGS_1 = 0x1, /* subtree */ + MNOTE_CANON_TAG_SETTINGS_1 = 0x1, MNOTE_CANON_TAG_FOCAL_LENGTH = 0x2, MNOTE_CANON_TAG_UNKNOWN_3 = 0x3, - MNOTE_CANON_TAG_SETTINGS_2 = 0x4, /* subtree */ + MNOTE_CANON_TAG_SETTINGS_2 = 0x4, MNOTE_CANON_TAG_PANORAMA = 0x5, MNOTE_CANON_TAG_IMAGE_TYPE = 0x6, MNOTE_CANON_TAG_FIRMWARE = 0x7, @@ -42,73 +42,9 @@ enum _MnoteCanonTag { MNOTE_CANON_TAG_OWNER = 0x9, MNOTE_CANON_TAG_UNKNOWN_10 = 0xa, MNOTE_CANON_TAG_SERIAL_NUMBER = 0xc, - MNOTE_CANON_TAG_CAMERA_INFO = 0xd, - MNOTE_CANON_TAG_FILE_LENGTH = 0xe, + MNOTE_CANON_TAG_UNKNOWN_13 = 0xd, MNOTE_CANON_TAG_CUSTOM_FUNCS = 0xf, - MNOTE_CANON_TAG_MODEL_ID = 0x10, - MNOTE_CANON_TAG_MOVIE_INFO = 0x11, /* subtree */ - MNOTE_CANON_TAG_AF_INFO = 0x12, /* subtree */ - MNOTE_CANON_TAG_THUMBNAIL_VALID_AREA = 0x13, - MNOTE_CANON_TAG_SERIAL_NUMBER_FORMAT = 0x15, - MNOTE_CANON_TAG_SUPER_MACRO = 0x1a, - MNOTE_CANON_TAG_DATE_STAMP_MODE = 0x1c, - MNOTE_CANON_TAG_MY_COLORS = 0x1d, /* subtree */ - MNOTE_CANON_TAG_FIRMWARE_REVISION = 0x1e, - MNOTE_CANON_TAG_CATEGORIES = 0x23, - MNOTE_CANON_TAG_FACEDETECT1 = 0x24, /* subtree */ - MNOTE_CANON_TAG_FACEDETECT2 = 0x25, /* subtree */ - MNOTE_CANON_TAG_AF_INFO2 = 0x26, /* subtree */ - MNOTE_CANON_TAG_CONTRAST_INFO = 0x27, /* subtree */ - MNOTE_CANON_TAG_IMAGE_UNIQUE_ID = 0x28, - MNOTE_CANON_TAG_WB_INFO = 0x29, /* subtree */ - MNOTE_CANON_TAG_FACEDETECT3 = 0x2f, /* subtree */ - MNOTE_CANON_TAG_TIMEINFO = 0x35, /* subtree */ - MNOTE_CANON_TAG_BATTERY_TYPE = 0x38, - MNOTE_CANON_TAG_AF_INFO3 = 0x3c, /* subtree */ - MNOTE_CANON_TAG_RAW_DATA_OFFSET = 0x81, - MNOTE_CANON_TAG_ORIGINAL_DECISION_DATA_OFFSET = 0x83, - MNOTE_CANON_TAG_PERSONAL_FUNCTIONS = 0x91, /* subtree */ - MNOTE_CANON_TAG_PERSONAL_FUNCTIONS_VALUES = 0x92, /* subtree */ - MNOTE_CANON_TAG_FILE_INFO = 0x93, /* subtree */ - MNOTE_CANON_TAG_LENS_MODEL = 0x95, - MNOTE_CANON_TAG_CMOS_SERIAL = 0x96, - MNOTE_CANON_TAG_DUST_REMOVAL_DATA = 0x97, - MNOTE_CANON_TAG_CROP_INFO = 0x98, /* subtree */ - MNOTE_CANON_TAG_CUSTOM_FUNCTIONS2 = 0x99, /* subtree */ - MNOTE_CANON_TAG_ASPECT_INFO = 0x9a, /* subtree */ - MNOTE_CANON_TAG_COLOR_INFORMATION = 0xa0, /* subtree */ - MNOTE_CANON_TAG_TONE_CURVE_TABLE = 0xa1, - MNOTE_CANON_TAG_SHARPNESS_TABLE = 0xa2, - MNOTE_CANON_TAG_SHARPNESS_FREQ_TABLE = 0xa3, - MNOTE_CANON_TAG_WHITEBALANCE_TABLE = 0xa3, - MNOTE_CANON_TAG_COLOR_BALANCE = 0xa9, /* subtree */ - MNOTE_CANON_TAG_MEASURED_COLOR = 0xaa, /* subtree */ - MNOTE_CANON_TAG_COLOR_TEMPERATURE = 0xae, - MNOTE_CANON_TAG_CANON_FLAGS = 0xb0, /* subtree */ - MNOTE_CANON_TAG_MODIFIED_INFO = 0xb1, /* subtree */ - MNOTE_CANON_TAG_TONECURVE_MATCHING = 0xb2, - MNOTE_CANON_TAG_WHITEBALANCE_MATCHING = 0xb3, - MNOTE_CANON_TAG_COLOR_SPACE = 0xb4, - MNOTE_CANON_TAG_PREVIEW_IMAGE_INFO = 0xb6, /* subtree */ - MNOTE_CANON_TAG_VRD_OFFSET = 0xd0, - MNOTE_CANON_TAG_SENSOR_INFO = 0xe0, /* subtree */ - MNOTE_CANON_TAG_WB_PACKET = 0x4001, /* subtree */ - MNOTE_CANON_TAG_COLOR_INFO = 0x4003, /* subtree */ - MNOTE_CANON_TAG_FLAVOR = 0x4005, - MNOTE_CANON_TAG_PICTURESTYLE_USERDEF = 0x4008, - MNOTE_CANON_TAG_PICTURESTYLE_PC = 0x4009, - MNOTE_CANON_TAG_CUSTOMPICTURE_STYLE_FN = 0x4010, - MNOTE_CANON_TAG_AF_MICRO_ADJUST = 0x4013, /* subtree */ - MNOTE_CANON_TAG_VIGNETTING_CORRECT = 0x4015, /* subtree */ - MNOTE_CANON_TAG_VIGNETTING_CORRECT2 = 0x4016, /* subtree */ - MNOTE_CANON_TAG_LIGHTINGOPT = 0x4018, /* subtree */ - MNOTE_CANON_TAG_LENS_INFO = 0x4019, /* subtree */ - MNOTE_CANON_TAG_AMBIENCE_INFO = 0x4020, /* subtree */ - MNOTE_CANON_TAG_MULTI_EXPOSURE = 0x4021, /* subtree */ - MNOTE_CANON_TAG_FILTER_INFO = 0x4024, /* subtree */ - MNOTE_CANON_TAG_HDR_INFO = 0x4025, /* subtree */ - MNOTE_CANON_TAG_AF_CONFIG = 0x4028, /* subtree */ - MNOTE_CANON_TAG_RAW_BURST_INFO = 0x403f /* subtree */ + MNOTE_CANON_TAG_COLOR_INFORMATION = 0xa0 }; typedef enum _MnoteCanonTag MnoteCanonTag; @@ -122,4 +58,4 @@ const char *mnote_canon_tag_get_description (MnoteCanonTag); } #endif /* __cplusplus */ -#endif /* !defined(LIBEXIF_MNOTE_CANON_TAG_H) */ +#endif /* __MNOTE_CANON_TAG_H__ */ diff --git a/libexif/exif-byte-order.h b/libexif/exif-byte-order.h index ac31d2d..fff2c55 100644 --- a/libexif/exif-byte-order.h +++ b/libexif/exif-byte-order.h @@ -22,8 +22,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_EXIF_BYTE_ORDER_H -#define LIBEXIF_EXIF_BYTE_ORDER_H +#ifndef __EXIF_BYTE_ORDER_H__ +#define __EXIF_BYTE_ORDER_H__ #ifdef __cplusplus extern "C" { @@ -47,4 +47,4 @@ const char *exif_byte_order_get_name (ExifByteOrder order); } #endif /* __cplusplus */ -#endif /* !defined(LIBEXIF_EXIF_BYTE_ORDER_H) */ +#endif /* __EXIF_BYTE_ORDER_H__ */ diff --git a/libexif/exif-content.h b/libexif/exif-content.h index d0d7e4c..7df6802 100644 --- a/libexif/exif-content.h +++ b/libexif/exif-content.h @@ -22,8 +22,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_EXIF_CONTENT_H -#define LIBEXIF_EXIF_CONTENT_H +#ifndef __EXIF_CONTENT_H__ +#define __EXIF_CONTENT_H__ #ifdef __cplusplus extern "C" { @@ -180,4 +180,4 @@ void exif_content_log (ExifContent *content, ExifLog *log); } #endif /* __cplusplus */ -#endif /* !defined(LIBEXIF_EXIF_CONTENT_H) */ +#endif /* __EXIF_CONTENT_H__ */ diff --git a/libexif/exif-data-type.h b/libexif/exif-data-type.h index e321479..356f736 100644 --- a/libexif/exif-data-type.h +++ b/libexif/exif-data-type.h @@ -20,8 +20,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_EXIF_DATA_TYPE_H -#define LIBEXIF_EXIF_DATA_TYPE_H +#ifndef __EXIF_DATA_TYPE_H__ +#define __EXIF_DATA_TYPE_H__ #ifdef __cplusplus extern "C" { @@ -45,4 +45,4 @@ typedef enum { } #endif /* __cplusplus */ -#endif /* !defined(LIBEXIF_EXIF_DATA_TYPE_H) */ +#endif /* __EXIF_TAG_H__ */ diff --git a/libexif/exif-data.h b/libexif/exif-data.h index 2857e9d..7f83a55 100644 --- a/libexif/exif-data.h +++ b/libexif/exif-data.h @@ -22,8 +22,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_EXIF_DATA_H -#define LIBEXIF_EXIF_DATA_H +#ifndef __EXIF_DATA_H__ +#define __EXIF_DATA_H__ #ifdef __cplusplus extern "C" { @@ -265,4 +265,4 @@ void exif_data_log (ExifData *data, ExifLog *log); } #endif /* __cplusplus */ -#endif /* !defined(LIBEXIF_EXIF_DATA_H) */ +#endif /* __EXIF_DATA_H__ */ diff --git a/libexif/exif-entry.h b/libexif/exif-entry.h index 0eb2642..cdf334c 100644 --- a/libexif/exif-entry.h +++ b/libexif/exif-entry.h @@ -22,8 +22,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_EXIF_ENTRY_H -#define LIBEXIF_EXIF_ENTRY_H +#ifndef __EXIF_ENTRY_H__ +#define __EXIF_ENTRY_H__ #ifdef __cplusplus extern "C" { @@ -185,4 +185,4 @@ void exif_entry_dump (ExifEntry *entry, unsigned int indent); } #endif /* __cplusplus */ -#endif /* !defined(LIBEXIF_EXIF_ENTRY_H) */ +#endif /* __EXIF_ENTRY_H__ */ diff --git a/libexif/exif-format.h b/libexif/exif-format.h index b7c632f..05af520 100644 --- a/libexif/exif-format.h +++ b/libexif/exif-format.h @@ -23,8 +23,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_EXIF_FORMAT_H -#define LIBEXIF_EXIF_FORMAT_H +#ifndef __EXIF_FORMAT_H__ +#define __EXIF_FORMAT_H__ #ifdef __cplusplus extern "C" { @@ -64,4 +64,4 @@ unsigned char exif_format_get_size (ExifFormat format); } #endif /* __cplusplus */ -#endif /* !defined(LIBEXIF_EXIF_FORMAT_H) */ +#endif /* __EXIF_FORMAT_H__ */ diff --git a/libexif/exif-ifd.h b/libexif/exif-ifd.h index 57bbc0d..b6e5374 100644 --- a/libexif/exif-ifd.h +++ b/libexif/exif-ifd.h @@ -20,8 +20,8 @@ * SPDX-License-Identifier: LGPL-2.1-or-later */ -#ifndef LIBEXIF_EXIF_IFD_H -#define LIBEXIF_EXIF_IFD_H +#ifndef __EXIF_IFD_H__ +#define __EXIF_IFD_H__ #ifdef __cplusplus extern "C" { @@ -50,4 +50,4 @@ const char *exif_ifd_get_name (ExifIfd ifd); } #endif /* __cplusplus */ -#endif /* !defined(LIBEXIF_EXIF_IFD_H) */ +#endif /* __EXIF_IFD_H__ */ diff --git a/libexif/exif-loader.h b/libexif/exif-loader.h index 2fdd435..6f48a4c 100644 --- a/libexif/exif-loader.h +++ b/libexif/exif-loader.h @@ -22,8 +22,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_EXIF_LOADER_H -#define LIBEXIF_EXIF_LOADER_H +#ifndef __EXIF_LOADER_H__ +#define __EXIF_LOADER_H__ #include #include @@ -127,4 +127,4 @@ void exif_loader_log (ExifLoader *loader, ExifLog *log); } #endif /* __cplusplus */ -#endif /* !defined(LIBEXIF_EXIF_LOADER_H) */ +#endif /* __EXIF_LOADER_H__ */ diff --git a/libexif/exif-log.h b/libexif/exif-log.h index 08bce27..8194964 100644 --- a/libexif/exif-log.h +++ b/libexif/exif-log.h @@ -22,8 +22,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_EXIF_LOG_H -#define LIBEXIF_EXIF_LOG_H +#ifndef __EXIF_LOG_H__ +#define __EXIF_LOG_H__ #ifdef __cplusplus extern "C" { @@ -115,4 +115,4 @@ void exif_logv (ExifLog *log, ExifLogCode, const char *domain, } #endif /* __cplusplus */ -#endif /* !defined(LIBEXIF_EXIF_LOG_H) */ +#endif /* __EXIF_LOG_H__ */ diff --git a/libexif/exif-mem.h b/libexif/exif-mem.h index 8fe3509..7c55ce4 100644 --- a/libexif/exif-mem.h +++ b/libexif/exif-mem.h @@ -24,8 +24,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_EXIF_MEM_H -#define LIBEXIF_EXIF_MEM_H +#ifndef __EXIF_MEM_H__ +#define __EXIF_MEM_H__ #include @@ -90,4 +90,4 @@ ExifMem *exif_mem_new_default (void); } #endif /* __cplusplus */ -#endif /* !defined(LIBEXIF_EXIF_MEM_H) */ +#endif /* __EXIF_MEM_H__ */ diff --git a/libexif/exif-mnote-data-priv.h b/libexif/exif-mnote-data-priv.h index 641b970..e59c51c 100644 --- a/libexif/exif-mnote-data-priv.h +++ b/libexif/exif-mnote-data-priv.h @@ -20,8 +20,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_EXIF_MNOTE_DATA_PRIV_H -#define LIBEXIF_EXIF_MNOTE_DATA_PRIV_H +#ifndef __EXIF_MNOTE_DATA_PRIV_H__ +#define __EXIF_MNOTE_DATA_PRIV_H__ #ifdef __cplusplus extern "C" { @@ -85,4 +85,4 @@ void exif_mnote_data_set_offset (ExifMnoteData *, unsigned int); } #endif /* __cplusplus */ -#endif /* !defined(LIBEXIF_EXIF_MNOTE_DATA_PRIV_H) */ +#endif /* __EXIF_MNOTE_PRIV_H__ */ diff --git a/libexif/exif-mnote-data.h b/libexif/exif-mnote-data.h index 5a75381..780b627 100644 --- a/libexif/exif-mnote-data.h +++ b/libexif/exif-mnote-data.h @@ -22,8 +22,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_EXIF_MNOTE_DATA_H -#define LIBEXIF_EXIF_MNOTE_DATA_H +#ifndef __EXIF_MNOTE_DATA_H__ +#define __EXIF_MNOTE_DATA_H__ #ifdef __cplusplus extern "C" { @@ -121,4 +121,4 @@ void exif_mnote_data_log (ExifMnoteData *, ExifLog *); } #endif /* __cplusplus */ -#endif /* !defined(LIBEXIF_EXIF_MNOTE_DATA_H) */ +#endif /* __EXIF_MNOTE_DATA_H__ */ diff --git a/libexif/exif-system.h b/libexif/exif-system.h index 86bb76c..0388b37 100644 --- a/libexif/exif-system.h +++ b/libexif/exif-system.h @@ -22,8 +22,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_EXIF_SYSTEM_H -#define LIBEXIF_EXIF_SYSTEM_H +#ifndef EXIF_SYSTEM_H +#define EXIF_SYSTEM_H #if defined(__GNUC__) && (__GNUC__ >= 2) # define UNUSED(param) UNUSED_PARAM_##param __attribute__((unused)) @@ -31,4 +31,4 @@ # define UNUSED(param) param #endif -#endif /* !defined(LIBEXIF_EXIF_SYSTEM_H) */ +#endif /* !defined(EXIF_SYSTEM_H) */ diff --git a/libexif/exif-tag.h b/libexif/exif-tag.h index 9b0a04c..6cfa9f5 100644 --- a/libexif/exif-tag.h +++ b/libexif/exif-tag.h @@ -22,8 +22,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_EXIF_TAG_H -#define LIBEXIF_EXIF_TAG_H +#ifndef __EXIF_TAG_H__ +#define __EXIF_TAG_H__ #ifdef __cplusplus extern "C" { @@ -107,7 +107,6 @@ typedef enum { EXIF_TAG_RELATED_IMAGE_FILE_FORMAT = 0x1000, EXIF_TAG_RELATED_IMAGE_WIDTH = 0x1001, EXIF_TAG_RELATED_IMAGE_LENGTH = 0x1002, - EXIF_TAG_IMAGE_DEPTH = 0x80e5, EXIF_TAG_CFA_REPEAT_PATTERN_DIM = 0x828d, EXIF_TAG_CFA_PATTERN = 0x828e, EXIF_TAG_BATTERY_LEVEL = 0x828f, @@ -124,18 +123,9 @@ typedef enum { EXIF_TAG_ISO_SPEED_RATINGS = 0x8827, EXIF_TAG_OECF = 0x8828, EXIF_TAG_TIME_ZONE_OFFSET = 0x882a, - EXIF_TAG_SENSITIVITY_TYPE = 0x8830, - EXIF_TAG_STANDARD_OUTPUT_SENSITIVITY = 0x8831, - EXIF_TAG_RECOMMENDED_EXPOSURE_INDEX = 0x8832, - EXIF_TAG_ISO_SPEED = 0x8833, - EXIF_TAG_ISO_SPEEDLatitudeYYY = 0x8834, - EXIF_TAG_ISO_SPEEDLatitudeZZZ = 0x8835, EXIF_TAG_EXIF_VERSION = 0x9000, EXIF_TAG_DATE_TIME_ORIGINAL = 0x9003, EXIF_TAG_DATE_TIME_DIGITIZED = 0x9004, - EXIF_TAG_OFFSET_TIME = 0x9010, - EXIF_TAG_OFFSET_TIME_ORIGINAL = 0x9011, - EXIF_TAG_OFFSET_TIME_DIGITIZED = 0x9012, EXIF_TAG_COMPONENTS_CONFIGURATION = 0x9101, EXIF_TAG_COMPRESSED_BITS_PER_PIXEL = 0x9102, EXIF_TAG_SHUTTER_SPEED_VALUE = 0x9201, @@ -307,4 +297,4 @@ unsigned int exif_tag_table_count (void); } #endif /* __cplusplus */ -#endif /* !defined(LIBEXIF_EXIF_TAG_H) */ +#endif /* __EXIF_TAG_H__ */ diff --git a/libexif/exif-utils.c b/libexif/exif-utils.c index 9112ca4..2e78eff 100644 --- a/libexif/exif-utils.c +++ b/libexif/exif-utils.c @@ -91,9 +91,9 @@ exif_get_sshort (const unsigned char *buf, ExifByteOrder order) if (!buf) return 0; switch (order) { case EXIF_BYTE_ORDER_MOTOROLA: - return (((unsigned int)buf[0] << 8) | buf[1]); + return ((buf[0] << 8) | buf[1]); case EXIF_BYTE_ORDER_INTEL: - return (((unsigned int)buf[1] << 8) | buf[0]); + return ((buf[1] << 8) | buf[0]); } /* Won't be reached */ diff --git a/libexif/exif-utils.h b/libexif/exif-utils.h index 58d2742..02ddf27 100644 --- a/libexif/exif-utils.h +++ b/libexif/exif-utils.h @@ -22,8 +22,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_EXIF_UTILS_H -#define LIBEXIF_EXIF_UTILS_H +#ifndef __EXIF_UTILS_H__ +#define __EXIF_UTILS_H__ #ifdef __cplusplus extern "C" { @@ -193,4 +193,4 @@ void exif_array_set_byte_order (ExifFormat, unsigned char *, unsigned int, } #endif /* __cplusplus */ -#endif /* !defined(LIBEXIF_EXIF_UTILS_H) */ +#endif /* __EXIF_UTILS_H__ */ diff --git a/libexif/fuji/exif-mnote-data-fuji.c b/libexif/fuji/exif-mnote-data-fuji.c index c28c541..b647ccf 100644 --- a/libexif/fuji/exif-mnote-data-fuji.c +++ b/libexif/fuji/exif-mnote-data-fuji.c @@ -187,14 +187,6 @@ exif_mnote_data_fuji_load (ExifMnoteData *en, c = exif_get_short (buf + datao, EXIF_BYTE_ORDER_INTEL); datao += 2; - /* Just use an arbitrary max tag limit here to avoid needing to much memory or time. There are 50 named tags currently. - * Fuji XT2 had 56 entries or so, GFX500 has 68. 150 seems a safe upper bound currently. - * The format allows specifying the same range of memory as often as it can, so this multiplies quickly. */ - if (c > 150) { - exif_log (en->log, EXIF_LOG_CODE_CORRUPT_DATA, "ExifMnoteDataFuji", "Too much tags (%d) in Fuji MakerNote", c); - return; - } - /* Remove any old entries */ exif_mnote_data_fuji_clear (n); diff --git a/libexif/fuji/exif-mnote-data-fuji.h b/libexif/fuji/exif-mnote-data-fuji.h index 7909538..647a375 100644 --- a/libexif/fuji/exif-mnote-data-fuji.h +++ b/libexif/fuji/exif-mnote-data-fuji.h @@ -20,8 +20,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_EXIF_MNOTE_DATA_FUJI_H -#define LIBEXIF_EXIF_MNOTE_DATA_FUJI_H +#ifndef __MNOTE_FUJI_CONTENT_H__ +#define __MNOTE_FUJI_CONTENT_H__ #include #include @@ -52,4 +52,4 @@ int exif_mnote_data_fuji_identify (const ExifData *ed, const ExifEntry *e); ExifMnoteData *exif_mnote_data_fuji_new (ExifMem *); -#endif /* !defined(LIBEXIF_EXIF_MNOTE_DATA_FUJI_H) */ +#endif /* __MNOTE_FUJI_CONTENT_H__ */ diff --git a/libexif/fuji/mnote-fuji-entry.h b/libexif/fuji/mnote-fuji-entry.h index 928260b..2cc3ba3 100644 --- a/libexif/fuji/mnote-fuji-entry.h +++ b/libexif/fuji/mnote-fuji-entry.h @@ -20,8 +20,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_MNOTE_FUJI_ENTRY_H -#define LIBEXIF_MNOTE_FUJI_ENTRY_H +#ifndef __MNOTE_FUJI_ENTRY_H__ +#define __MNOTE_FUJI_ENTRY_H__ #include #include @@ -44,4 +44,4 @@ struct _MnoteFujiEntry { char *mnote_fuji_entry_get_value (MnoteFujiEntry *entry, char *val, unsigned int maxlen); -#endif /* !defined(LIBEXIF_MNOTE_FUJI_ENTRY_H) */ +#endif /* __MNOTE_FUJI_ENTRY_H__ */ diff --git a/libexif/fuji/mnote-fuji-tag.h b/libexif/fuji/mnote-fuji-tag.h index dbd2738..2a94cc3 100644 --- a/libexif/fuji/mnote-fuji-tag.h +++ b/libexif/fuji/mnote-fuji-tag.h @@ -20,8 +20,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_MNOTE_FUJI_TAG_H -#define LIBEXIF_MNOTE_FUJI_TAG_H +#ifndef __MNOTE_FUJI_TAG_H__ +#define __MNOTE_FUJI_TAG_H__ #ifdef __cplusplus extern "C" { @@ -79,7 +79,7 @@ enum _MnoteFujiTag { MNOTE_FUJI_TAG_UNKNOWN_4800 = 0x4800, MNOTE_FUJI_TAG_FILE_SOURCE = 0x8000, MNOTE_FUJI_TAG_ORDER_NUMBER = 0x8002, - MNOTE_FUJI_TAG_FRAME_NUMBER = 0x8003 + MNOTE_FUJI_TAG_FRAME_NUMBER = 0x8003, }; typedef enum _MnoteFujiTag MnoteFujiTag; @@ -91,4 +91,4 @@ const char *mnote_fuji_tag_get_description (MnoteFujiTag tag); } #endif /* __cplusplus */ -#endif /* !defined(LIBEXIF_MNOTE_FUJI_TAG_H) */ +#endif /* __MNOTE_FUJI_TAG_H__ */ diff --git a/libexif/i18n.h b/libexif/i18n.h index 164b482..191e1b4 100644 --- a/libexif/i18n.h +++ b/libexif/i18n.h @@ -20,8 +20,8 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -#ifndef LIBEXIF_I18N_H -#define LIBEXIF_I18N_H +#ifndef __I18N_H__ +#define __I18N_H__ #include "config.h" @@ -51,4 +51,4 @@ # define N_(String) (String) #endif -#endif /* !defined(LIBEXIF_I18N_H) */ +#endif /* __I18N_H__ */ diff --git a/m4m/failmalloc.m4 b/m4m/failmalloc.m4 index 17bb12c..21b3383 100644 --- a/m4m/failmalloc.m4 +++ b/m4m/failmalloc.m4 @@ -5,7 +5,7 @@ dnl SPDX-License-Identifier: LGPL-2.0-or-later AC_DEFUN([CHECK_FAILMALLOC],[dnl dnl Libtool sets the default library paths - LT_INIT([win32-dll]) + AM_PROG_LIBTOOL path_provided= failmalloc_requested= dnl Either implicitly or explicitly AC_ARG_WITH(failmalloc, [ --with-failmalloc=PATH use Failmalloc for tests], [ diff --git a/m4m/gp-check-shell-environment.m4 b/m4m/gp-check-shell-environment.m4 index 792ca92..42b5646 100644 --- a/m4m/gp-check-shell-environment.m4 +++ b/m4m/gp-check-shell-environment.m4 @@ -28,7 +28,7 @@ else uname_a=`uname -a 2>&1` # '' AC_MSG_ERROR([ -* POSIX sh \$() command substitution does not work with this shell. +* POSIX sh \$() command substition does not work with this shell. * * You are running a very rare species of shell. Please report this * sighting to <${PACKAGE_BUGREPORT}>: diff --git a/m4m/gp-documentation.m4 b/m4m/gp-documentation.m4 index 2f058e3..00624b1 100644 --- a/m4m/gp-documentation.m4 +++ b/m4m/gp-documentation.m4 @@ -83,7 +83,7 @@ AC_REQUIRE([GP_CHECK_DOC_DIR]) # --------------------------------------------------------------------------- # gtk-doc: We use gtk-doc for building our documentation. However, we -# require the user to explicitly request the build. +# require the user to explicitely request the build. # --------------------------------------------------------------------------- try_gtkdoc=false gtkdoc_msg="no (not requested)" diff --git a/m4m/stdint.m4 b/m4m/stdint.m4 index 803320f..8becf0b 100644 --- a/m4m/stdint.m4 +++ b/m4m/stdint.m4 @@ -604,7 +604,7 @@ typedef unsigned long uintmax_t; #define __intptr_t_defined /* we encourage using "long" to store pointer values, never use "int" ! */ #if _STDINT_LONG_MODEL+0 == 242 || _STDINT_LONG_MODEL+0 == 484 -typedef unsigned int uintptr_t; +typedef unsinged int uintptr_t; typedef int intptr_t; #elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL+0 == 444 typedef unsigned long uintptr_t; diff --git a/po/da.po b/po/da.po index 6425c2c..ac84caa 100644 --- a/po/da.po +++ b/po/da.po @@ -1671,7 +1671,7 @@ msgstr "Objektivinfo" msgid "Ambience_Info" msgstr "" -# Det at der tages flere billeder i det samme billede. Lad stå uoversat, +# Det at der tages flere billeder i det samme billede. Lad stå uoversat, # ellers "Flergangsbelysning". #: libexif/canon/mnote-canon-tag.c:107 libexif/olympus/mnote-olympus-tag.c:119 #, fuzzy @@ -1935,7 +1935,7 @@ msgstr "Optisk zoom" msgid "Camera Temperature" msgstr "Kameratemperatur" -# Guide Number er et tal for, hvor kraftig blitzen er +# Guide Number er et tal for, hvor kraftig blitzen er # (http://en.wikipedia.org/wiki/Guide_number) Det danske ord er "ledetal" #: libexif/canon/mnote-canon-tag.c:174 msgid "Flash Guide Number" @@ -1996,7 +1996,7 @@ msgstr "Belysningstid" msgid "Measured EV 2" msgstr "Målt EV" -# Igen en af de svære - når man fotograferer 'Bulb' er der +# Igen en af de svære - når man fotograferer 'Bulb' er der # tale om lange belysningstider, tider som kameraet ikke selv # kan 'dosere' typisk fra en 10-15 sekunder og mere. Jeg kender # ikke til nogen danske ord for det. @@ -5822,7 +5822,7 @@ msgstr "Farvetilstand" msgid "Light Type" msgstr "Lystype" -# Jeg ikke særlig meget forstand på disse begreber, og jeg ved ikke +# Jeg ikke særlig meget forstand på disse begreber, og jeg ved ikke # om det bør være "Skud-ISO", "ISO-skud" eller "Skud, ISO". #: libexif/olympus/mnote-olympus-tag.c:75 #, fuzzy diff --git a/test/.gitignore b/test/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/test/check-vars.sh.in b/test/check-vars.sh.in new file mode 100644 index 0000000..fa0b4c9 --- /dev/null +++ b/test/check-vars.sh.in @@ -0,0 +1,4 @@ +# Specifies autoconf variables for use by the test scripts + +SRCDIR=@srcdir@ +FAILMALLOC_PATH=@FAILMALLOC_PATH@ diff --git a/test/extract-parse.sh b/test/extract-parse.sh index 548b7de..81e221b 100644 --- a/test/extract-parse.sh +++ b/test/extract-parse.sh @@ -27,32 +27,17 @@ parse_canonicalize () { -e '/MakerNote (Undefined)$/{N;N;d}' } -. ${srcdir}/inc-comparetool.sh - # Ensure that names are untranslated LANG= LANGUAGE= LC_ALL=C export LANG LANGUAGE LC_ALL for fn in "${srcdir}"/testdata/*.jpg ; do - ./test-parse$EXEEXT "${fn}" | tr -d '\015' | parse_canonicalize > "${TMPORIGINAL}" - ./test-extract$EXEEXT -o "${TMPDATA}" "${fn}" - ./test-parse$EXEEXT "${TMPDATA}" | tr -d '\015' | parse_canonicalize > "${TMPEXTRACTED}" - if ${comparetool} "${TMPORIGINAL}" "${TMPEXTRACTED}"; then - : "no differences detected" - else + ./test-parse "${fn}" | parse_canonicalize > "${TMPORIGINAL}" + ./test-extract -o "${TMPDATA}" "${fn}" + ./test-parse "${TMPDATA}" | parse_canonicalize > "${TMPEXTRACTED}" + if ! diff "${TMPORIGINAL}" "${TMPEXTRACTED}"; then echo Error parsing "$fn" exit 1 fi done - -for fn in "${srcdir}"/testdata/*.jpg ; do - ./test-parse$EXEEXT "${fn}" | tr -d '\015' | parse_canonicalize > "${TMPORIGINAL}" - ./test-parse-from-data$EXEEXT "${fn}" | tr -d '\015' | parse_canonicalize > "${TMPEXTRACTED}" - if ${comparetool} "${TMPORIGINAL}" "${TMPEXTRACTED}"; then - echo "no differences detected" - else - echo "ERROR: Difference between test-parse and test-parse-from-data for $fn !" - exit 1 - fi -done diff --git a/test/parse-regression.sh b/test/parse-regression.sh index 1f97051..5674950 100644 --- a/test/parse-regression.sh +++ b/test/parse-regression.sh @@ -7,23 +7,15 @@ srcdir="${srcdir:-.}" TMPLOG="$(mktemp)" trap 'rm -f "${TMPLOG}"' 0 - -. ${srcdir}/inc-comparetool.sh - # Ensure that names are untranslated LANG= LANGUAGE= LC_ALL=C export LANG LANGUAGE LC_ALL for fn in "${srcdir}"/testdata/*.jpg ; do - # The *.parsed text files have LF line endings, so the tr removes - # the CR from CRLF line endings, while keeping LF line endings the - # same. - ./test-parse$EXEEXT "${fn}" | tr -d '\015' > "${TMPLOG}" - if ${comparetool} "${fn}.parsed" "${TMPLOG}"; then - : "no differences detected" - else - echo "Error parsing $fn" + ./test-parse "${fn}" > "${TMPLOG}" + if ! diff "${fn}".parsed "${TMPLOG}"; then + echo Error parsing "$fn" exit 1 fi done diff --git a/test/swap-byte-order.sh b/test/swap-byte-order.sh index 384d279..f19779f 100644 --- a/test/swap-byte-order.sh +++ b/test/swap-byte-order.sh @@ -7,22 +7,14 @@ srcdir="${srcdir:-.}" TMPLOG="$(mktemp)" trap 'rm -f "${TMPLOG}"' 0 - -. ${srcdir}/inc-comparetool.sh - # Ensure that names are untranslated LANG= LANGUAGE= LC_ALL=C export LANG LANGUAGE LC_ALL for fn in "${srcdir}"/testdata/*.jpg ; do - # The *.parsed text files have LF line endings, so the tr removes - # the CR from CRLF line endings, while keeping LF line endings the - # same. - ./test-parse$EXEEXT --swap-byte-order "${fn}" | tr -d '\015' | sed -e '/^New byte order:/d' > "${TMPLOG}" - if ${comparetool} "${fn}.parsed" "${TMPLOG}"; then - : "no differences detected" - else + ./test-parse --swap-byte-order "${fn}" | sed -e '/^New byte order:/d' > "${TMPLOG}" + if ! diff "${fn}".parsed "${TMPLOG}"; then echo Error parsing "$fn" exit 1 fi diff --git a/test/testdata/canon_makernote_variant_1.jpg.parsed b/test/testdata/canon_makernote_variant_1.jpg.parsed index 27e75e2..fd18a1b 100644 --- a/test/testdata/canon_makernote_variant_1.jpg.parsed +++ b/test/testdata/canon_makernote_variant_1.jpg.parsed @@ -258,7 +258,7 @@ Byte order: Intel Entry 37: 1, (unknown) Size: 6 Value: 0x0000 - Entry 38: 1, Spot Metering Mode + Entry 38: 1, (unknown) Size: 6 Value: 0x0000 Entry 39: 1, Photo Effect @@ -321,13 +321,13 @@ Byte order: Intel Entry 58: 4, Sequence Number Size: 1 Value: 0 - Entry 59: 4, Optical Zoom Code + Entry 59: 4, (unknown) Size: 6 Value: 0x0000 Entry 60: 4, (unknown) Size: 6 Value: 0x0000 - Entry 61: 4, Camera Temperature + Entry 61: 4, (unknown) Size: 6 Value: 0x0000 Entry 62: 4, Flash Guide Number @@ -345,7 +345,7 @@ Byte order: Intel Entry 66: 4, AE Bracket Value Size: 7 Value: 0.00 EV - Entry 67: 4, Control Mode + Entry 67: 4, (unknown) Size: 6 Value: 0x0001 Entry 68: 4, Focus Distance Upper @@ -360,7 +360,7 @@ Byte order: Intel Entry 71: 4, Exposure Time Size: 1 Value: 1 - Entry 72: 4, Measured EV 2 + Entry 72: 4, (unknown) Size: 6 Value: 0x0000 Entry 73: 4, Bulb Duration @@ -399,10 +399,10 @@ Byte order: Intel Entry 84: 0, (unknown) Size: 8 Value: 0 0 0 0 - Entry 85: 18, AFInfo + Entry 85: 18, (unknown) Size: 101 Value: 9 9 640 480 3072 230 553 41 64982 0 554 64982 0 554 64982 0 554 65492 65492 65492 0 0 0 44 44 44 0 0 - Entry 86: 19, ThumbnailValidArea + Entry 86: 19, (unknown) Size: 8 Value: 0 0 0 0 Entry 87: 6, ImageType @@ -417,7 +417,7 @@ Byte order: Intel Entry 90: 9, OwnerName Size: 0 Value: - Entry 91: 16, ModelID + Entry 91: 16, (unknown) Size: 9 Value: 20447232 Entry 92: 0, (unknown) @@ -429,6 +429,6 @@ Byte order: Intel Entry 94: 25, (unknown) Size: 2 Value: 1 - Entry 95: 13, CameraInfo + Entry 95: 13, (unknown) Size: 118 Value: 72 9 512 512 512 512 512 512 512 512 512 65 0 0 65125 2 0 10 65504 65488 0 43 161 0 48 992 1024 0 0 0 0 0 0 0 192 351 diff --git a/test/testdata/olympus_makernote_variant_2.jpg.parsed b/test/testdata/olympus_makernote_variant_2.jpg.parsed index 061ea55..f717533 100644 --- a/test/testdata/olympus_makernote_variant_2.jpg.parsed +++ b/test/testdata/olympus_makernote_variant_2.jpg.parsed @@ -198,7 +198,7 @@ Byte order: Intel Entry 13: 26, (unknown) Size: 40 Value: - Entry 14: 33, FaceDetect + Entry 14: 33, (unknown) Size: 236 Value: 106 bytes unknown data: 00024001f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 Entry 15: 38, (unknown) @@ -231,7 +231,7 @@ Byte order: Intel Entry 24: 143, (unknown) Size: 15 Value: - Entry 25: 145, ShotInfo + Entry 25: 145, (unknown) Size: 1984 Value: 980 bytes unknown data: 000000011100000000000000000000000000000000000002bc006700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000400000500000600000700000800000900000a00000b00000c00000d00000e00000f00001000001100001200001300001400001500001600001700001800001900001a00001b00001c00001d00001e00001f00002000002100002200002300002400002500002600002700002800002900002a00002b00002c00002d00002e00002f00003000003100003200003300003400003500003600003700003800003900003a00003b00003c00003d00003e00003f00004000004100004200004300004400004500004600004700004800004900004a00004b00004c00004d00004e00004f00005000005100005200005300005400005500005600005700005800005900005a00005b00005c00005d00005e00005f00006000006100006200006300006400006500006600006700006800006900006a00006b00006c00006d00006e00006f00007000007100007200007300007400007500007600007700007800007900007a00007b00007c00007d00007e00007f00008000008100008200008300008400008500008600008700008800008900008a00008b00008c00008d00008e00008f00009000009100009200009300009400009500009600009700009800009900009a00009b00009c00009d00009e00009f0000a00000a10000a20000a30000a40000a50000a60000a70000a80000a90000aa0000ab0000ac0000ad0000ae0000af0000b00000b10000b20000b30000b40000b50000b60000b70000b80000b90000ba0000bb0000bc0000bd0000be0000bf0000c00000c10000c20000c30000c40000c50000c60000c70000c80000c90000ca0000cb0000cc0000cd0000ce0000cf0000d00000d10000d20000d30000d40000d50000d60000d70000d80000d90000da0000db0000dc0000dd0000de0000df0000e00000e10000e20000e30000e40000e50000e60000e70000e80000e90000ea0000eb0000ec0000ed0000ee0000ef0000f00000f10000f20000f30000f40000f50000f60000f70000f80000f90000fa0000fb0000fc0000fd0000fe0000ff0000 Entry 26: 148, Saturation @@ -249,7 +249,7 @@ Byte order: Intel Entry 30: 157, (unknown) Size: 1 Value: 0 - Entry 31: 158, RetouchHistory + Entry 31: 158, (unknown) Size: 46 Value: Invalid number of components (10, expected 1). Entry 32: 159, (unknown)