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

Reply via email to