ffprobe: kill initializers with nested union field definition

The c99-to-c89 converter (for MSVC support) doesn't currently handle
designated initializers or compound literals with nested unions or
structs.

This is apparently the only place where this construct is used in the
FFmpeg codebase.
pull/28/head
Stefano Sabatini 12 years ago
parent 5e99a23b2d
commit 8d0e871f25
  1. 14
      ffprobe.c

@ -356,7 +356,10 @@ static void writer_print_time(WriterContext *wctx, const char *key,
writer_print_string(wctx, key, "N/A", 1); writer_print_string(wctx, key, "N/A", 1);
} else { } else {
double d = ts * av_q2d(*time_base); double d = ts * av_q2d(*time_base);
value_string(buf, sizeof(buf), (struct unit_value){.val.d=d, .unit=unit_second_str}); struct unit_value uv;
uv.val.d = d;
uv.unit = unit_second_str;
value_string(buf, sizeof(buf), uv);
writer_print_string(wctx, key, buf, 0); writer_print_string(wctx, key, buf, 0);
} }
} }
@ -1442,8 +1445,13 @@ static void writer_register_all(void)
#define print_ts(k, v) writer_print_ts(w, k, v, 0) #define print_ts(k, v) writer_print_ts(w, k, v, 0)
#define print_duration_time(k, v, tb) writer_print_time(w, k, v, tb, 1) #define print_duration_time(k, v, tb) writer_print_time(w, k, v, tb, 1)
#define print_duration_ts(k, v) writer_print_ts(w, k, v, 1) #define print_duration_ts(k, v) writer_print_ts(w, k, v, 1)
#define print_val(k, v, u) writer_print_string(w, k, \ #define print_val(k, v, u) do { \
value_string(val_str, sizeof(val_str), (struct unit_value){.val.i = v, .unit=u}), 0) struct unit_value uv; \
uv.val.i = v; \
uv.unit = u; \
writer_print_string(w, k, value_string(val_str, sizeof(val_str), uv), 0); \
} while (0)
#define print_section_header(s) writer_print_section_header(w, s) #define print_section_header(s) writer_print_section_header(w, s)
#define print_section_footer(s) writer_print_section_footer(w, s) #define print_section_footer(s) writer_print_section_footer(w, s)
#define show_tags(metadata) writer_show_tags(w, metadata) #define show_tags(metadata) writer_show_tags(w, metadata)

Loading…
Cancel
Save