Tue Apr 23 23:49:15 2013: Request 11748 was acted upon.
Transaction: Correspondence added by SISYPHUS
Queue: Inline
Subject: Inline::CPP config gets lost because of Inline::C bug
Broken in: (no value)
Severity: Important
Owner: Nobody
Requestors: nick_...@pisem.net
Status: open
Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=11748
On Sat Apr 20 02:53:07 2013, iang wrote:
I think the fault is in Inline::CPP, not Inline::C.
Yes, I now think that *is* right.
If Inline::CPP
generates typemap data (if $typemap has non-zero length in
Inline::CPP::write_typemap) then Inline::CPP::validate is called
with the generated TYPEMAP data passed, but this calls
Inline::C::validate, which sets $o-{ILSM}{MAKEFILE}{INC}, unless
$o-UNTAINT is set.
[snip]
Part of the issue is that when validating TYPEMAP, all the other
options are not passed to Inlince::C::validate. The initialization
there sets INC and the previously passed value is not appended
because it is not passed, only the TYPEMAP is passed.
Seems to me that Inline::C::validate is not really designed to receive that set
of data, and Inline::CPP should probably not be passing that set of data to it.
Nevertheless, it can apparently be easily fixed by applying the suggested
change to Inline::C::validate - so I'll go with the original fix.
A version of Inline containing this fix has been uploaded to CPAN as
Inline-0.52_02. Unless, in the meantine, there's an issue found with
Inline-0.52_02, it will be released as Inline-0.53 early next week.
Thanks again, Ian, for for the digging and the demo case.
Cheers,
Rob