This is my second version of my clean up of Robbert Haarman
<gaim@...>'s DCC SEND patch for Gaim's IRC prpl.
I ended up doing a lot more to the core than I had orignally planned.
I'm sending it to the list due to the increased number of people who
will probably want to review it.
First of all it implements file transfer for IRC, in both directions.
"DCC SEND" is just the CTCP message used. Technically, there's other DCC
things, like Chat, that this patch doesn't implement.
I created a new core module, network.[ch]. I moved ft.[ch]'s IP
functions to there, and stuck the port listening functions there too. I
implemented another method of getting our IP, by checking a socket if
one is provided, falling back to the other methods if that doesn't work.
I renamed the ip pref to reflect it's new file, and added some new
prefs. I added a UI for setting these prefs. For me, the spin boxes
aren't wide enough (only 2 digits are visible), but then my font's too
big anyway, or so I've been told.
The reason for using network.c is because ip getting and port listening
aren't file transfer specific.
I fixed some ft.c related bugs that happened to bite me in testing IRC
xfer. I made the read/write stuff use ssize_t instead of size_t, and
check for returning -1 in some places. I killed xfer->local_ip.
I might have done other nifty stuff too, but it's late and I don't remember.
I did not convert OSCAR over to using the core's port listening, it
still uses its own code for that. KingAnt will want to convert it, so it
can use the port prefs.
Due to API changes, Oscar, Jabber, and Yahoo! have some small changes.
Get latest updates about Open Source Projects, Conferences and News.