Merge
This commit is contained in:
@@ -576,6 +576,8 @@ Tag::Tag (TagDirectory* p, FILE* f, int base)
|
||||
int offsetFirst = 4;
|
||||
if( strstr(model, "*ist") || strstr(model, "GX-1") || strstr(model, "K100D") || strstr(model, "K110D") )
|
||||
offsetFirst = 3;
|
||||
if( strstr(model, "K-5") || strstr(model, "K-r") )
|
||||
offsetFirst = 12;
|
||||
directory = new TagDirectory*[2];
|
||||
directory[1] = NULL;
|
||||
directory[0] = new TagDirectoryTable (parent, f, valuesize,offsetFirst,BYTE , attrib->subdirAttribs, getOrder());
|
||||
@@ -812,7 +814,7 @@ void Tag::toString (char* buffer, int ofs) {
|
||||
}
|
||||
}
|
||||
else if (type==ASCII) {
|
||||
sprintf (buffer, "%s", value+ofs);
|
||||
sprintf (buffer, "%.64s", value+ofs);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -831,8 +833,8 @@ void Tag::toString (char* buffer, int ofs) {
|
||||
case BYTE: sprintf (b, "%d", value[i+ofs]); break;
|
||||
case SSHORT: sprintf (b, "%d", toInt(2*i+ofs)); break;
|
||||
case SHORT: sprintf (b, "%u", toInt(2*i+ofs)); break;
|
||||
case SLONG: sprintf (b, "%ld", toInt(4*i+ofs)); break;
|
||||
case LONG: sprintf (b, "%lu", toInt(4*i+ofs)); break;
|
||||
case SLONG: sprintf (b, "%ld", (long)toInt(4*i+ofs)); break;
|
||||
case LONG: sprintf (b, "%lu", (unsigned long)toInt(4*i+ofs)); break;
|
||||
case SRATIONAL:
|
||||
case RATIONAL: sprintf (b, "%d/%d", (int)sget4 (value+8*i+ofs, getOrder()), (int)sget4 (value+8*i+ofs+4, getOrder())); break;
|
||||
case FLOAT: sprintf (b, "%g", toDouble(8*i+ofs)); break;
|
||||
@@ -844,7 +846,7 @@ void Tag::toString (char* buffer, int ofs) {
|
||||
|
||||
std::string Tag::nameToString (int i) {
|
||||
|
||||
static char buffer[1024];
|
||||
char buffer[1024];
|
||||
if (attrib)
|
||||
strcpy (buffer, attrib->name);
|
||||
else
|
||||
@@ -856,7 +858,7 @@ std::string Tag::nameToString (int i) {
|
||||
|
||||
std::string Tag::valueToString () {
|
||||
|
||||
static char buffer[1024];
|
||||
char buffer[1024];
|
||||
if (attrib && attrib->interpreter)
|
||||
return attrib->interpreter->toString (this);
|
||||
else {
|
||||
@@ -1110,7 +1112,7 @@ Tag* ExifManager::saveCIFFMNTag (FILE* f, TagDirectory* root, int len, const cha
|
||||
|
||||
void ExifManager::parseCIFF (FILE* f, int base, int length, TagDirectory* root) {
|
||||
|
||||
static char buffer[1024];
|
||||
char buffer[1024];
|
||||
Tag* t;
|
||||
|
||||
fseek (f, base+length-4, SEEK_SET);
|
||||
|
Reference in New Issue
Block a user