[Rd] dotcode typo?
Duncan Murdoch
murdoch at stats.uwo.ca
Thu Jun 2 19:03:08 CEST 2005
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.
Duncan Murdoch
More information about the R-devel
mailing list