Skip to content

Commit c489fe8

Browse files
committed
use DebugLog in exif
1 parent 5ad771c commit c489fe8

File tree

2 files changed

+63
-62
lines changed

2 files changed

+63
-62
lines changed

exif.cc

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -136,9 +136,9 @@ ExifFormat::print_buff(const char* buf, int sz, const char* cmt)
136136
{
137137
int i;
138138

139-
printf("%s: ", cmt);
139+
db.log("%s: ", cmt);
140140
for (i = 0; i < sz; i++) {
141-
printf("%02x ", buf[i] & 0xFF);
141+
db.log("%02x ", buf[i] & 0xFF);
142142
}
143143
for (i = 0; i < sz; i++) {
144144
char c = buf[i];
@@ -147,7 +147,7 @@ ExifFormat::print_buff(const char* buf, int sz, const char* cmt)
147147
} else if (! isprint(c)) {
148148
c = '.';
149149
}
150-
printf("%c", c);
150+
db.log("%c", c);
151151
}
152152
}
153153

@@ -320,12 +320,12 @@ ExifFormat::exif_load_apps()
320320
app->marker = gbfgetuint16(fin_);
321321
app->len = gbfgetuint16(fin_);
322322
if (global_opts.debug_level >= 3) {
323-
printf("api = %02X, len = %u (0x%04x), offs = 0x%08X\n", app->marker & 0xFF, app->len, app->len, gbftell(fin_));
323+
db.log("api = %02X, len = %u (0x%04x), offs = 0x%08X\n", app->marker & 0xFF, app->len, app->len, gbftell(fin_));
324324
}
325325
if (exif_app_ || (app->marker == 0xFFDA)) { /* compressed data */
326326
gbfcopyfrom(app->fcache, fin_, 0x7FFFFFFF);
327327
if (global_opts.debug_level >= 3) {
328-
printf("compressed data size = %u\n", gbftell(app->fcache));
328+
db.log("compressed data size = %u\n", gbftell(app->fcache));
329329
}
330330
} else {
331331
gbfcopyfrom(app->fcache, fin_, app->len - 2);
@@ -401,7 +401,7 @@ ExifFormat::exif_read_ifd(ExifApp* app, const uint16_t ifd_nr, const gbsize_t of
401401
name = "private";
402402
break;
403403
}
404-
printf("offs 0x%08X: Number of items in IFD%d \"%s\" = %d (0x%04x)\n",
404+
db.log("offs 0x%08X: Number of items in IFD%d \"%s\" = %d (0x%04x)\n",
405405
offs, ifd_nr, name, ifd->count, ifd->count);
406406
}
407407
if (ifd->count == 0) {
@@ -520,57 +520,57 @@ ExifFormat::exif_read_ifd(ExifApp* app, const uint16_t ifd_nr, const gbsize_t of
520520
}
521521
}
522522
if (global_opts.debug_level >= 3) {
523-
printf("offs 0x%08X: ifd=%d id=0x%04X t=0x%04X c=%4u s=%4u",
523+
db.log("offs 0x%08X: ifd=%d id=0x%04X t=0x%04X c=%4u s=%4u",
524524
tag->tag_offset, ifd->nr, tag->id, tag->type, tag->count, tag->size);
525525
if (tag->size > 4) {
526-
printf(" o=0x%08X", tag->offset);
526+
db.log(" o=0x%08X", tag->offset);
527527
} else {
528-
printf(" v=0x%02X%02X%02X%02X", tag->raw[0], tag->raw[1], tag->raw[2], tag->raw[3]);
528+
db.log(" v=0x%02X%02X%02X%02X", tag->raw[0], tag->raw[1], tag->raw[2], tag->raw[3]);
529529
}
530530
if (tag->type == EXIF_TYPE_ASCII) {
531531
QByteArray str = exif_read_str(tag);
532-
printf(" \"%s\"", str.constData());
532+
db.log(" \"%s\"", str.constData());
533533
} else {
534534
for (unsigned idx = 0; idx < std::min(tag->count, 4u); ++idx) {
535535
if (tag->type == EXIF_TYPE_BYTE) {
536-
printf(" %u", tag->data.at(0).toByteArray().at(idx));
536+
db.log(" %u", tag->data.at(0).toByteArray().at(idx));
537537
} else if (tag->type == EXIF_TYPE_SBYTE) {
538-
printf(" %d", tag->data.at(0).toByteArray().at(idx));
538+
db.log(" %d", tag->data.at(0).toByteArray().at(idx));
539539
} else if (tag->type == EXIF_TYPE_UNK) {
540-
printf(" 0x%02X", tag->data.at(0).toByteArray().at(idx));
540+
db.log(" 0x%02X", tag->data.at(0).toByteArray().at(idx));
541541
} else if (tag->type == EXIF_TYPE_RAT) {
542-
printf(" %+#g(%u/%u)", exif_read_double(tag, idx), tag->data.at(idx * 2).value<uint32_t>(), tag->data.at((idx * 2) + 1).value<uint32_t>());
542+
db.log(" %+#g(%u/%u)", exif_read_double(tag, idx), tag->data.at(idx * 2).value<uint32_t>(), tag->data.at((idx * 2) + 1).value<uint32_t>());
543543
} else if (tag->type == EXIF_TYPE_SRAT) {
544-
printf(" %+#g(%d/%d)", exif_read_double(tag, idx), tag->data.at(idx * 2).value<int32_t>(), tag->data.at((idx * 2) + 1).value<int32_t>());
544+
db.log(" %+#g(%d/%d)", exif_read_double(tag, idx), tag->data.at(idx * 2).value<int32_t>(), tag->data.at((idx * 2) + 1).value<int32_t>());
545545
} else if (tag->type == EXIF_TYPE_SHORT) {
546-
printf(" %u", tag->data.at(idx).value<uint16_t>());
546+
db.log(" %u", tag->data.at(idx).value<uint16_t>());
547547
} else if (tag->type == EXIF_TYPE_SSHORT) {
548-
printf(" %d", tag->data.at(idx).value<int16_t>());
548+
db.log(" %d", tag->data.at(idx).value<int16_t>());
549549
} else if (tag->type == EXIF_TYPE_LONG) {
550-
printf(" %u", tag->data.at(idx).value<uint32_t>());
550+
db.log(" %u", tag->data.at(idx).value<uint32_t>());
551551
} else if (tag->type == EXIF_TYPE_SLONG) {
552-
printf(" %d", tag->data.at(idx).value<int32_t>());
552+
db.log(" %d", tag->data.at(idx).value<int32_t>());
553553
} else if (tag->type == EXIF_TYPE_FLOAT) {
554-
printf(" %+#g", tag->data.at(idx).value<float>());
554+
db.log(" %+#g", tag->data.at(idx).value<float>());
555555
} else if (tag->type == EXIF_TYPE_DOUBLE) {
556-
printf(" %+#g", tag->data.at(idx).value<double>());
556+
db.log(" %+#g", tag->data.at(idx).value<double>());
557557
} else {
558-
printf(" 0x%0*X", 2 * exif_type_size(tag->type), tag->data.at(idx).value<uint32_t>());
558+
db.log(" 0x%0*X", 2 * exif_type_size(tag->type), tag->data.at(idx).value<uint32_t>());
559559
}
560560
}
561561
if (tag->count > 4) {
562-
printf(" ...");
562+
db.log(" ...");
563563
}
564564
}
565-
printf("\n");
565+
db.log("\n");
566566
}
567567
#ifndef NDEBUG
568568
exif_validate_tag_structure(tag);
569569
#endif
570570
}
571571

572572
if (global_opts.debug_level >= 3) {
573-
printf("offs 0x%08X: Next IFD=0x%08X\n", next_ifd_offs, ifd->next_ifd);
573+
db.log("offs 0x%08X: Next IFD=0x%08X\n", next_ifd_offs, ifd->next_ifd);
574574
}
575575

576576
return ifd;
@@ -587,9 +587,9 @@ ExifFormat::exif_read_app(ExifApp* app)
587587
gbfile* fin = app->fexif;
588588

589589
if (global_opts.debug_level >= 3) {
590-
printf("read_app...\n");
590+
db.log("read_app...\n");
591591
print_buff((const char*)fin->handle.mem, 8, "offs 0x00000000: Image File Header");
592-
printf("\n");
592+
db.log("\n");
593593
}
594594
exif_ifd_ofs = gps_ifd_ofs = inter_ifd_ofs = 0;
595595

@@ -633,7 +633,7 @@ ExifFormat::exif_examine_app(ExifApp* app)
633633
uint16_t endianness = gbfgetint16(ftmp);
634634

635635
if (global_opts.debug_level >= 3) {
636-
printf("endianness = 0x%04X\n", endianness);
636+
db.log("endianness = 0x%04X\n", endianness);
637637
}
638638
if (endianness == 0x4949) {
639639
ftmp->big_endian = 0;
@@ -680,7 +680,7 @@ ExifFormat::exif_find_tag(ExifApp* app, const uint16_t ifd_nr, const uint16_t ta
680680
}
681681

682682
QDateTime
683-
ExifFormat::exif_get_exif_time(ExifApp* app) const
683+
ExifFormat::exif_get_exif_time(ExifApp* app)
684684
{
685685
QDateTime res;
686686

@@ -755,7 +755,7 @@ ExifFormat::exif_get_exif_time(ExifApp* app) const
755755
}
756756

757757
Waypoint*
758-
ExifFormat::exif_waypt_from_exif_app(ExifApp* app) const
758+
ExifFormat::exif_waypt_from_exif_app(ExifApp* app)
759759
{
760760
ExifTag* tag;
761761
char lat_ref = '\0';
@@ -848,8 +848,8 @@ ExifFormat::exif_waypt_from_exif_app(ExifApp* app) const
848848
}
849849

850850
if (global_opts.debug_level >= 3) {
851-
printf("GPSLatitude = %12.7f\n", wpt->latitude);
852-
printf("GPSLongitude = %12.7f\n", wpt->longitude);
851+
db.log("GPSLatitude = %12.7f\n", wpt->latitude);
852+
db.log("GPSLongitude = %12.7f\n", wpt->longitude);
853853
}
854854
if (!datum.isEmpty()) {
855855
int idatum = gt_lookup_datum_index(datum);
@@ -879,7 +879,7 @@ ExifFormat::exif_waypt_from_exif_app(ExifApp* app) const
879879
}
880880
wpt->altitude = sign * alt;
881881
if (global_opts.debug_level >= 3) {
882-
printf("GPSAltitude = %12.7f m\n", wpt->altitude);
882+
db.log("GPSAltitude = %12.7f m\n", wpt->altitude);
883883
}
884884
}
885885

@@ -900,7 +900,7 @@ ExifFormat::exif_waypt_from_exif_app(ExifApp* app) const
900900
}
901901
if (global_opts.debug_level >= 3) {
902902
if (wpt->speed_has_value()) {
903-
printf("GPSSpeed = %12.2f m/s\n", wpt->speed_value());
903+
db.log("GPSSpeed = %12.2f m/s\n", wpt->speed_value());
904904
}
905905
}
906906
}
@@ -920,7 +920,7 @@ ExifFormat::exif_waypt_from_exif_app(ExifApp* app) const
920920
gps_datetime = QDateTime(datestamp, timestamp, QtUTC);
921921
if (gps_datetime.isValid()) {
922922
if (global_opts.debug_level >= 3) {
923-
printf("GPSTimeStamp = %s\n", qPrintable(gps_datetime.toString(Qt::ISODateWithMs)));
923+
db.log("GPSTimeStamp = %s\n", qPrintable(gps_datetime.toString(Qt::ISODateWithMs)));
924924
}
925925
wpt->SetCreationTime(gps_datetime);
926926
} else {
@@ -1005,7 +1005,7 @@ ExifFormat::Rational<int32_t> ExifFormat::exif_dec2frac(double val, double toler
10051005
}
10061006

10071007
ExifFormat::ExifTag*
1008-
ExifFormat::exif_put_value(const int ifd_nr, const uint16_t tag_id, const uint16_t type, const int count, const int index, const void* data) const
1008+
ExifFormat::exif_put_value(const int ifd_nr, const uint16_t tag_id, const uint16_t type, const int count, const int index, const void* data)
10091009
{
10101010
ExifTag* tag = nullptr;
10111011
uint16_t size;
@@ -1108,7 +1108,7 @@ ExifFormat::exif_put_value(const int ifd_nr, const uint16_t tag_id, const uint16
11081108

11091109

11101110
void
1111-
ExifFormat::exif_put_double(const int ifd_nr, const int tag_id, const int index, const double val) const
1111+
ExifFormat::exif_put_double(const int ifd_nr, const int tag_id, const int index, const double val)
11121112
{
11131113
// TODO: It seems wrong to throw away the sign.
11141114
double d = fabs(val);
@@ -1117,14 +1117,14 @@ ExifFormat::exif_put_double(const int ifd_nr, const int tag_id, const int index,
11171117

11181118

11191119
void
1120-
ExifFormat::exif_put_str(const int ifd_nr, const int tag_id, const char* val) const
1120+
ExifFormat::exif_put_str(const int ifd_nr, const int tag_id, const char* val)
11211121
{
11221122
int len = (val) ? strlen(val) + 1 : 0;
11231123
exif_put_value(ifd_nr, tag_id, EXIF_TYPE_ASCII, len, 0, val);
11241124
}
11251125

11261126
void
1127-
ExifFormat::exif_put_coord(const int ifd_nr, const int tag_id, const double val) const
1127+
ExifFormat::exif_put_coord(const int ifd_nr, const int tag_id, const double val)
11281128
{
11291129
double vdeg;
11301130
double vmin;
@@ -1140,19 +1140,19 @@ ExifFormat::exif_put_coord(const int ifd_nr, const int tag_id, const double val)
11401140
}
11411141

11421142
void
1143-
ExifFormat::exif_put_long(const int ifd_nr, const int tag_id, const int index, const int32_t val) const
1143+
ExifFormat::exif_put_long(const int ifd_nr, const int tag_id, const int index, const int32_t val)
11441144
{
11451145
exif_put_value(ifd_nr, tag_id, EXIF_TYPE_LONG, 1, index, &val);
11461146
}
11471147

11481148
void
1149-
ExifFormat::exif_put_short(const int ifd_nr, const int tag_id, const int index, const int16_t val) const
1149+
ExifFormat::exif_put_short(const int ifd_nr, const int tag_id, const int index, const int16_t val)
11501150
{
11511151
exif_put_value(ifd_nr, tag_id, EXIF_TYPE_SHORT, 1, index, &val);
11521152
}
11531153

11541154
void
1155-
ExifFormat::exif_remove_tag(const int ifd_nr, const int tag_id) const
1155+
ExifFormat::exif_remove_tag(const int ifd_nr, const int tag_id)
11561156
{
11571157
exif_put_value(ifd_nr, tag_id, EXIF_TYPE_BYTE, 0, 0, nullptr);
11581158
}
@@ -1307,7 +1307,7 @@ ExifFormat::exif_write_ifd(ExifIfd* ifd, const char next, gbfile* fout)
13071307
}
13081308

13091309
void
1310-
ExifFormat::exif_write_apps() const
1310+
ExifFormat::exif_write_apps()
13111311
{
13121312
gbfputuint16(0xFFD8, fout_);
13131313

exif.h

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -155,45 +155,46 @@ class ExifFormat : public Format
155155

156156
/* Member Functions */
157157

158-
static void print_buff(const char* buf, int sz, const char* cmt);
158+
void print_buff(const char* buf, int sz, const char* cmt);
159159
static uint16_t exif_type_size(uint16_t type);
160160
static QString exif_time_str(const QDateTime& time);
161161
static QByteArray exif_read_str(ExifTag* tag);
162162
static double exif_read_double(const ExifTag* tag, int index);
163-
static double exif_read_coord(const ExifTag* tag);
164-
static QTime exif_read_timestamp(const ExifTag* tag);
163+
double exif_read_coord(const ExifTag* tag);
164+
QTime exif_read_timestamp(const ExifTag* tag);
165165
static QDate exif_read_datestamp(const ExifTag* tag);
166166
void exif_release_apps();
167167
static uint32_t exif_ifd_size(ExifIfd* ifd);
168168
ExifApp* exif_load_apps();
169169
#ifndef NDEBUG
170-
static void exif_validate_tag_structure(const ExifTag* tag);
170+
void exif_validate_tag_structure(const ExifTag* tag);
171171
#endif
172-
static ExifIfd* exif_read_ifd(ExifApp* app, uint16_t ifd_nr, gbsize_t offs, uint32_t* exif_ifd_ofs, uint32_t* gps_ifd_ofs, uint32_t* inter_ifd_ofs);
173-
static void exif_read_app(ExifApp* app);
174-
static void exif_examine_app(ExifApp* app);
172+
ExifIfd* exif_read_ifd(ExifApp* app, uint16_t ifd_nr, gbsize_t offs, uint32_t* exif_ifd_ofs, uint32_t* gps_ifd_ofs, uint32_t* inter_ifd_ofs);
173+
void exif_read_app(ExifApp* app);
174+
void exif_examine_app(ExifApp* app);
175175
static ExifIfd* exif_find_ifd(ExifApp* app, uint16_t ifd_nr);
176-
static ExifTag* exif_find_tag(ExifApp* app, uint16_t ifd_nr, uint16_t tag_id);
177-
QDateTime exif_get_exif_time(ExifApp* app) const;
178-
Waypoint* exif_waypt_from_exif_app(ExifApp* app) const;
176+
ExifTag* exif_find_tag(ExifApp* app, uint16_t ifd_nr, uint16_t tag_id);
177+
QDateTime exif_get_exif_time(ExifApp* app);
178+
Waypoint* exif_waypt_from_exif_app(ExifApp* app);
179179
static Rational<int> exif_dec2frac(double val, double tolerance);
180-
ExifTag* exif_put_value(int ifd_nr, uint16_t tag_id, uint16_t type, int count, int index, const void* data) const;
181-
void exif_put_double(int ifd_nr, int tag_id, int index, double val) const;
182-
void exif_put_str(int ifd_nr, int tag_id, const char* val) const;
183-
void exif_put_coord(int ifd_nr, int tag_id, double val) const;
184-
void exif_put_long(int ifd_nr, int tag_id, int index, int32_t val) const;
185-
void exif_put_short(int ifd_nr, int tag_id, int index, int16_t val) const;
186-
void exif_remove_tag(int ifd_nr, int tag_id) const;
180+
ExifTag* exif_put_value(int ifd_nr, uint16_t tag_id, uint16_t type, int count, int index, const void* data);
181+
void exif_put_double(int ifd_nr, int tag_id, int index, double val);
182+
void exif_put_str(int ifd_nr, int tag_id, const char* val);
183+
void exif_put_coord(int ifd_nr, int tag_id, double val);
184+
void exif_put_long(int ifd_nr, int tag_id, int index, int32_t val);
185+
void exif_put_short(int ifd_nr, int tag_id, int index, int16_t val);
186+
void exif_remove_tag(int ifd_nr, int tag_id);
187187
void exif_find_wpt_by_time(const Waypoint* wpt);
188188
void exif_find_wpt_by_name(const Waypoint* wpt);
189189
static bool exif_sort_tags_cb(const ExifTag& A, const ExifTag& B);
190190
static bool exif_sort_ifds_cb(const ExifIfd& A, const ExifIfd& B);
191191
static void exif_write_value(ExifTag* tag, gbfile* fout);
192-
static void exif_write_ifd(ExifIfd* ifd, char next, gbfile* fout);
193-
void exif_write_apps() const;
192+
void exif_write_ifd(ExifIfd* ifd, char next, gbfile* fout);
193+
void exif_write_apps();
194194

195195
/* Data Members */
196196

197+
DebugLog db;
197198
gbfile* fin_{};
198199
gbfile* fout_{};
199200
QList<ExifApp*>* exif_apps{};

0 commit comments

Comments
 (0)