Content-Transfer-Encoding: binary Content-Disposition: inline X-RT-Interface: Web Content-Type: text/plain; charset="utf-8" X-RT-Original-Encoding: utf-8 References: MIME-Version: 1.0 Message-ID: X-Mailer: MIME-tools 5.508 (Entity 5.508) In-Reply-To: RT-Send-CC: Content-Length: 888 > Just one nit - why struct and not va_list (or just pass all four arguments) for the callback? The callback_data makes sense when you need to store the callback_data in an async structure. Neat idea, thanks, I have not thought about that. Just pushed a commit which uses a va_list in the callback prototype instead of a pointer to a structure. I chose this way because I really do not like passing a lot of arguments around. I think this solution also better conveys the intent. Could you please take a look? > (Actually it's not a 'callback' but a function that does things directly, right?) Correct, but I failed to find a better term and "callback" should give the reader the right idea. Plain "function" sounds too generic to me. If you have any suggestions, I am all ears (or you can even push a relevant tweak to the branch if you feel like it, as far as I am concerned).