31
31
#define ENTRY_FOUND " * "
32
32
#define ENTRY_NOT_FOUND " - "
34
#define CN(s) ((s) ? (s) : "(NULL)")
35
37
action_tag_table (const char *filename, ExifData *ed)
65
67
unsigned char *ids = data;
69
ExifIfd ifd = exif_entry_get_ifd (e);
69
72
fprintf (stdout, "0x%04x", e->tag);
71
fprintf (stdout, "%-20.20s", C(exif_tag_get_title (e->tag)));
74
fprintf (stdout, "%-20.20s", C(exif_tag_get_title_in_ifd (e->tag, ifd)));
74
77
fprintf (stdout, "%-72.72s",
101
action_mnote_list (const char *filename, ExifData *ed)
104
action_mnote_list (const char *filename, ExifData *ed, unsigned char ids)
103
unsigned int i, bs = 1024, c;
106
unsigned int i, bs = 1024, c, id;
108
char b1[1024], b2[1024];
105
109
ExifMnoteData *n;
107
112
n = exif_data_get_mnote_data (ed);
109
printf (_("Unknown MakerNote format."));
114
printf (_("Unknown MakerNote format.\n"));
122
127
printf (_("MakerNote contains %i values:\n"), c);
124
for (i = 0; i < c; i++)
125
printf ("%s: %s\n", C(exif_mnote_data_get_title (n, i)),
126
C(exif_mnote_data_get_value (n, i, b, bs)));
127
exif_mnote_data_unref (n);
129
for (i = 0; i < c; i++) {
131
id = exif_mnote_data_get_id (n,i);
132
sprintf(b1,"0x%04x",id);
134
p = C (exif_mnote_data_get_title (n, i));
135
strncpy (b1, p ? p : _("Unknown tag"), bs);
137
p = C (exif_mnote_data_get_value (n, i, b, bs));
138
strncpy (b2, p ? p : _("Unknown value"), bs);
139
/* printf ("%s|%s\n", b1, b2); */
141
fprintf (stdout, "%-6.6s", b1);
143
fprintf (stdout, "%-20.20s", b1);
146
fputs (CN (b2), stdout);
148
fprintf (stdout, "%-58.58s", b2);
150
fputc ('\n', stdout);
140
164
exif_byte_order_get_name (order));
141
165
fputc ('\n', stdout);
142
166
print_hline (ids);
144
168
fprintf (stdout, "%-6.6s", _("Tag"));
146
170
fprintf (stdout, "%-20.20s", _("Tag"));
147
172
fputc ('|', stdout);
149
174
fprintf (stdout, "%-72.72s", _("Value"));
166
191
unsigned char *ids = data;
193
ExifIfd ifd = exif_entry_get_ifd (e);
169
if (*ids) fprintf (stdout, "0x%04x", e->tag);
170
else fprintf (stdout, "%s", exif_tag_get_title (e->tag));
172
fprintf (stdout, "%-.1024s", exif_entry_get_value (e, v, sizeof (v)));
196
fprintf (stdout, "0x%04x", e->tag);
198
fputs (CN (exif_tag_get_title_in_ifd (e->tag, ifd)), stdout);
200
fputc ('\t', stdout);
201
fputs (CN (exif_entry_get_value (e, v, sizeof (v))), stdout);
173
202
fputc ('\n', stdout);
189
218
fprintf (stdout, _("ThumbnailSize\t%i\n"), ed->size);
222
show_entry_xml (ExifEntry *e, void *data)
224
unsigned char *ids = data;
225
char v[1024], t[1024];
228
fprintf (stdout, "<0x%04x>", e->tag);
229
fprintf (stdout, "%s", exif_entry_get_value (e, v, sizeof (v)));
230
fprintf (stdout, "</0x%04x>", e->tag);
233
strncpy (t, exif_tag_get_title (e->tag), sizeof (t));
235
/* Remove invalid characters from tag eg. (, ), space */
236
for (x = 0; x < strlen (t); x++)
237
if ((t[x] == '(') || (t[x] == ')') || (t[x] == ' '))
240
fprintf (stdout, "\t<%s>", t);
241
fprintf (stdout, "%s", exif_entry_get_value (e, v, sizeof (v)));
242
fprintf (stdout, "</%s>\n", t);
247
show_xml (ExifContent *content, void *data)
249
exif_content_foreach_entry (content, show_entry_xml, data);
253
action_tag_list_xml (const char *filename, ExifData *ed, unsigned char ids)
257
fprintf(stdout, "<exif>\n");
258
exif_data_foreach_content (ed, show_xml, &ids);
259
fprintf(stdout, "</exif>\n");