]> code.delx.au - pulseaudio/commit
introspect: Fix ABI break introduced by b98a2e1
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Mon, 4 Nov 2013 17:41:22 +0000 (19:41 +0200)
committerTanu Kaskinen <tanu.kaskinen@linux.intel.com>
Tue, 5 Nov 2013 19:26:34 +0000 (21:26 +0200)
commit85e7fbc196f4424f68e530c2e3a01d9b941f293e
tree3edf2c138feeaf318dd5cf6ed8dac8a025128764
parent6dddee4214257ee75bcbf719945301e7f8e7bd0d
introspect: Fix ABI break introduced by b98a2e1

The size of pa_card_profile_info cannot change even if it just a field
appended to end because each entry is appended to a contiguous memory
and accessed by offset this may lead clients to access invalid data.

To fix a new struct called pa_card_profile_info2 is introduced and shall
be used for now on while pa_card_profile_info shall be considered
deprecated but it is still mantained for backward compatibility.

A new field called profiles2 is introduced to pa_card_info, this new field
is an array of pointers to pa_card_profile_info2 so it should be possible
to append new fields to the end of the pa_card_profile_info2 without
breaking binary compatibility as the entries are not accessed by offset.
src/pulse/introspect.c
src/pulse/introspect.h
src/utils/pactl.c