On 10/06/17 20:21, Vijay Kiran Kamuju wrote:
> +#define call_time_get_char_do_get(this, ret, s, e, base, err, t, fmt, mod) CALL_VTBL_FUNC(this, 12, istreambuf_iterator_char*, \
> + (const time_get_char*, istreambuf_iterator_char*, istreambuf_iterator_char, istreambuf_iterator_char, ios_base*, int*, struct tm*, char, char), \
> + (this, ret, s, e, base, err, t, fmt, mod))
> +#else
> +#define call_time_get_char_do_get(this, ret, s, e, base, err, t, fmt, mod) CALL_VTBL_FUNC(this, 20, istreambuf_iterator_char*, \
> + (const time_get_char*, istreambuf_iterator_char*, istreambuf_iterator_char, istreambuf_iterator_char, ios_base*, int*, struct tm*, char, char), \
> + (this, ret, s, e, base, err, t, fmt, mod))
You're calling wrong virtual functions in call_time_get_char_do_get
macro. Second argument of CALL_VTBL_FUNC macro is function offset in
virtual function table.
Thanks,
Piotr