[Rd] dotcode typo? (PR#7917)
murdoch at stats.uwo.ca
murdoch at stats.uwo.ca
Thu Jun 2 19:16:25 CEST 2005
Duncan Murdoch wrote:
> Huntsinger, Reid wrote:
>
>>Sorry, I was looking at 2.0.1 when I meant to be looking at 2.1.0. The line
>>numbers for the latter are 161-179 and line 164 is the one with what I think
>>is a typo.
>>
>>Reid Huntsinger
>>
>>-----Original Message-----
>>From: r-devel-bounces at stat.math.ethz.ch
>>[mailto:r-devel-bounces at stat.math.ethz.ch] On Behalf Of Huntsinger, Reid
>>Sent: Thursday, June 02, 2005 12:33 PM
>>To: r-devel at stat.math.ethz.ch
>>Subject: [Rd] dotcode typo?
>>
>>
>>I ran across the following in the R-2.0.1 source, src/main/dotcode.c, in the
>>function resolveNativeRoutine(), lines 146-163. Line 152 looks like a typo:
>>here are lines 149-155
>>
>> if(!*fun) {
>> if(dll.type != FILENAME) {
>> *fun = R_FindNativeSymbolFromDLL(buf, &dll, symbol);
>> if(!fun) {
>> errorcall(call, "cannot resolve native routine");
>> }
>> }
>>
>>and I think the "if(!fun)" should be "if(!*fun)".
>
>
> I think you're right about the typo.
>
> In the current code, !fun is known to be false, so the "cannot resolve
> native routine" error message is not even compiled in. Putting in !*fun
> means that
>
> .C("foo")
>
> produces "cannot resolve native routine", rather than "function name not
> in load table" from the test a few lines down.
>
> I'll commit this change after testing, but I hope Duncan TL has time to
> look at it and make sure the logic is okay.
Whoops, spoke too soon. This definitely breaks the logic, so I won't
commit. With this change the check of demo(lm.glm) in package utils
fails with this error message:
> dead <- cbind(x, n - x)
> summary(glm(dead ~ dose, family = binomial(link = logit)))
Error in .Call("logit_link", mu) : cannot resolve native routine
Execution halted
I'm cc'ing this to R-bugs so we don't forget it, but I'm not going to be
able to fix it down myself.
Duncan Murdoch
More information about the R-devel
mailing list