--- parser3/src/classes/image.C 2020/12/23 15:01:13 1.181 +++ parser3/src/classes/image.C 2024/09/11 21:07:36 1.185 @@ -1,8 +1,8 @@ /** @file Parser: @b image parser class. - Copyright (c) 2001-2020 Art. Lebedev Studio (http://www.artlebedev.com) - Author: Alexandr Petrosian (http://paf.design.ru) + Copyright (c) 2001-2023 Art. Lebedev Studio (http://www.artlebedev.com) + Authors: Konstantin Morshnev , Alexandr Petrosian */ /* @@ -26,7 +26,7 @@ #include "pa_table.h" #include "pa_charsets.h" -volatile const char * IDENT_IMAGE_C="$Id: image.C,v 1.181 2020/12/23 15:01:13 moko Exp $"; +volatile const char * IDENT_IMAGE_C="$Id: image.C,v 1.185 2024/09/11 21:07:36 moko Exp $"; // defines @@ -421,11 +421,8 @@ static Value* parse_IFD_entry_formatted_ size_t length=components_count; // Data format is "YYYY:MM:DD HH:MM:SS"+0x00, total 20bytes if(length==JPEG_EXIF_DATE_CHARS && isdigit((unsigned char)cstr[0]) && cstr[length-1]==0) { - char cstr_writable[JPEG_EXIF_DATE_CHARS]; - strcpy(cstr_writable, cstr); - try { - tm tmIn=cstr_to_time_t(cstr_writable, 0); + tm tmIn=cstr_to_time_t(pa_strdup(cstr), 0); return new VDate(tmIn); } catch(...) { /*ignore bad date times*/ } @@ -441,7 +438,7 @@ static Value* parse_IFD_entry_formatted_ HashStringValue& hash=result->hash(); for(uint i=0; ifields().get(name_name)->as_string(); Measure_buf_reader reader(vfile->value_ptr(), vfile->value_size(), *file_name); measure(*file_name, reader, info);