On 2013/01/10 13:06, Denis Krjuchkov <de...@crazydev.net> wrote: > So practically this requires adding one more function for each > function that deal with sockets?
Yes. That's three: mpd_async_new(), mpd_async_get_fd() and mpd_connection_get_fd(). > If new functions would be implemented as static+inline wouldn't it > break the ABI for already compiled programs? Because such functions > exist only at compilation stage and are not present in the compiled > .DLL True, this is where it gets hairy. There must be three versions of mpd_async_new(): - the new symbol "mpd_async_new_SOCKET" with "SOCKET" parameter (shall never be explicitly called by applications, part of the ABI but not the API) - the inline function "mpd_async_new" with "SOCKET" which calls mpd_async_new_SOCKET (this being the only caller of mpd_async_new_SOCKET) - the old symbol "mpd_async_new" with "int" which also calls mpd_async_new_SOCKET (after casting to SOCKET) - to satisfy the old ABI ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnmore_122712 _______________________________________________ Musicpd-dev-team mailing list Musicpd-dev-team@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team