File large-exif.diff of Package dng4ps2

Index: dng4ps2-r62/src/Utils.cpp
===================================================================
--- dng4ps2-r62.orig/src/Utils.cpp
+++ dng4ps2-r62/src/Utils.cpp
@@ -114,22 +114,22 @@ void Utils::copy_exif(ExifData* ed, unsi
 {
 	if (!str.IsEmpty() && !force) return;
 	ExifEntry * entry = get_exif_entry(ed, tag);
 	if (!entry) return;
-	char buffer[1024];
-	memset(buffer, 0, 1024);
-	exif_entry_get_value(entry, buffer, 1024);
+	char buffer[4096];
+	memset(buffer, 0, 4096);
+	exif_entry_get_value(entry, buffer, 4096);
 	str.Set(buffer);
 }
 
 // Utils::get_str_exif
 wxString Utils::get_str_exif(ExifData* ed, unsigned int tag)
 {
 	ExifEntry * entry = get_exif_entry(ed, tag);
 	if (!entry) return wxString();
-	char buffer[1024];
+	char buffer[4096];
 	memset(buffer, 0, sizeof(buffer));
-	exif_entry_get_value(entry, buffer, 1024);
+	exif_entry_get_value(entry, buffer, 4096);
 	return wxString(buffer, wxConvLocal);
 }
 
 // Utils::get_short_exif
@@ -144,11 +144,11 @@ int Utils::get_short_exif(ExifData* ed, 
 bool Utils::copy_exif(ExifData* ed, unsigned int tag, dng_date_time & value)
 {
 	ExifEntry * entry = get_exif_entry(ed, tag);
 	if (!entry) return false;
-	char buffer[1024];
-	memset(buffer, 0, 1024);
-	exif_entry_get_value(entry, buffer, 1024);
+	char buffer[4096];
+	memset(buffer, 0, 4096);
+	exif_entry_get_value(entry, buffer, 4096);
 
 	wxString date_time_string(buffer, wxConvLibc);
 
 	wxStringTokenizer date_time_string2(date_time_string, L" ");
@@ -211,9 +211,9 @@ char* Utils::get_mnote_value(ExifMnoteDa
 
 // Utils::get_mnote_short
 int Utils::get_mnote_short(ExifMnoteData * n, const char * name, const CorrMNoteData *values, int def_val)
 {
-	char buffer[256];
+	char buffer[1024];
 	const char * value = get_mnote_value(n, name, buffer, sizeof(buffer));
 	if (value == NULL) return -1;
 	if (values == NULL) return atoi(value);
 
@@ -225,9 +225,9 @@ int Utils::get_mnote_short(ExifMnoteData
 
 // Utils::copy_mnote (dng_string)
 void Utils::copy_mnote(ExifMnoteData * n, const char * name, dng_string & str, bool force)
 {
-	char buffer[1024];
+	char buffer[4096];
 	const char * value = get_mnote_value(n, name, buffer, sizeof(buffer));
 	if (value == NULL) return;
 	if (!force && !str.IsEmpty()) return;
 	str.Set_SystemEncoding(value);
@@ -235,9 +235,9 @@ void Utils::copy_mnote(ExifMnoteData * n
 
 // Utils::copy_mnote (dng_urational)
 void Utils::copy_mnote(ExifMnoteData *n, const char *name, dng_urational &data, float coef)
 {
-	char buffer[256];
+	char buffer[4096];
 	const char * value = get_mnote_value(n, name, buffer, sizeof(buffer));
 	if (value == NULL) return;
 	float fvalue = (float)atof(value)*coef;
 	data.n = (unsigned int)(fvalue*1000+0.5);
@@ -257,9 +257,9 @@ void Utils::copy_mnote(ExifMnoteData *n,
 
 // Utils::copy_mnote (unsigned int)
 void Utils::copy_mnote(ExifMnoteData *n, const char *name, uint32 &data)
 {
-	char buffer[1024];
+	char buffer[4096];
 	const char * value = get_mnote_value(n, name, buffer, sizeof(buffer));
 	if (value == NULL) return;
 	data = atoi(value);
 }