API constification set #3 Some API functions perform validation routines which may modify the 'error' attribute of a context object. For API functions where the "primary" object is not a context object, and the object holds a non- const context pointer, this internal mechanism could be successfully hidden - such functions were constified in my previous two patch sets. However, some functions, namely those related directly to context objects, had to be passed over previously. These could not be constified because the validation routines accessed the context object directly to change the error attribute. This patch set addresses this shortcoming. Firstly the patch set moves the context's error attribute behind a pointer. The validation routines are then changed to store the error value via this pointer. That then allows a collection of further API functions to be constified. (actually pa_context_errno and the two rttime ones could have been done previously on second inspection) Although the indirection of the error attribute is obviously ever so slightly worse off for efficiency, it is surely worth the price. After all, the error setting of the validation checks is just an artifact of an internal mechanism and should not be allowed to influence the public API like it currently does. -------------- next part -------------- A non-text attachment was scrubbed... Name: 01.patch Type: text/x-patch Size: 2122 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20180607/fb1b0b20/attachment-0012.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: 02.patch Type: text/x-patch Size: 1658 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20180607/fb1b0b20/attachment-0013.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: 03.patch Type: text/x-patch Size: 3123 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20180607/fb1b0b20/attachment-0014.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: 04.patch Type: text/x-patch Size: 1179 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20180607/fb1b0b20/attachment-0015.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: 05.patch Type: text/x-patch Size: 1201 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20180607/fb1b0b20/attachment-0016.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: 06.patch Type: text/x-patch Size: 1361 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20180607/fb1b0b20/attachment-0017.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: 07.patch Type: text/x-patch Size: 1224 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20180607/fb1b0b20/attachment-0018.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: 08.patch Type: text/x-patch Size: 1277 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20180607/fb1b0b20/attachment-0019.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: 09.patch Type: text/x-patch Size: 1272 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20180607/fb1b0b20/attachment-0020.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: 10.patch Type: text/x-patch Size: 1356 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20180607/fb1b0b20/attachment-0021.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: 11.patch Type: text/x-patch Size: 1417 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20180607/fb1b0b20/attachment-0022.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: 12.patch Type: text/x-patch Size: 1359 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20180607/fb1b0b20/attachment-0023.bin>