On Sat Apr 20 02:53:07 2013, iang wrote:
Show quoted text> I think the fault is in Inline::CPP, not Inline::C.
Yes, I now think that *is* right.
Show quoted text> 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]
Show quoted text> 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