----- Original Message ----- From: "Erik Aronesty" <e...@q32.com>

[snip]

2) This one line sufices to fix the issue.

AUTO_INCLUDE => "#include <fakesdio.h>"

(my version of the CORE fakesdio had a bug ... line 68 needed to be
deleted, i think most version have this issue)


What bug is that ? (It seems to work ok for me, but I haven't tested it to any great extent.)
What's the latest version of perl that you have that exhibits the bug ?
Assuming it hasn't yet been fixed, do you want me to submit the bug report ? ... or would you like to do it yourself ?

3) It might be a good idea, since many inline users are using inline
specifically because they don't know as much about perl's XS library,
to have:

USE_PERLIO => 1

which would be a documented shortcut that appends

#include "FAKESDIO.H"

Seems reasonable.


.... (then bundle a version of FAKESDIO.H that doesn't have a bug in
it, until such time as it's been fixed for at least a year or so)


Yes - if there's a problem with fakesdio.h, then let's get it fixed. (I didn't even know such a file existed in CORE.)

4) i would even go so far s to say this should be the default ...
perlapio documentation quotes "extensions that want maximum
portability, should use the above functions instead of those defined
in ANSI C's stdio.h"  ...

As I've indicated in our off-list discussion, I'm not in favour of making it the default. People are quite free to use the "perl abstraction layer" if they want, and they can either use it by including fakesdio.h or by explicitly using the PerlIO stuff. I would personally be rather annoyed if I wrote an Inline::C function to take a 'FILE *' argument, and then found it was being changed to a 'PerlIO *'. (Such a thing would actually break some of my code.)

Still, I think this issue is definitely worth covering in the Inline::C documentation - including an example in the Cookbook.

Cheers,
Rob

Reply via email to