[gccsdk] Different behaviour between scl and unixlib

Jan-Jaap van der Geer jjvdgeer at inbox.com
Tue Sep 28 11:23:25 PDT 2010


John Tytgat <John.Tytgat at aaug.net> wrote:

> I'm not an fscanf() expert but I believe UnixLib has the correct
> behaviour and SCL's one is wrong.  Cfr.
> http://www.opengroup.org/onlinepubs/009695399/

<snip clear explanation>

> However, when you have input "\n" you will get 0 as result as it
> does not match "%10[^\n]" directive and this means failure.  As
> the input does not get consumed, this starts to loop from now on.

It seems you (and Ralph) are right yes. It wasn't what I was
expecting though.

So it seems there's a bug in SharedCLibrary there. There's an
argument for DLL's for you I suppose: If they correct
SharedCLibrary, and someone installs that on a machine which uses
SpamStamp, SpamStamp will stop working....

I assume that the DLLs that would be used will always be the same
version as the original program was compiled against?

Reading the documentation, it seems that only the major versionnr
is in the runtime link? So if this bug was in a hypothetical DLL
and it was solved and distributed as a new minor version, the
software depending on the bug would actually fail. Tja. You can't
win them all, I suppose. :)

Thanks (as well to Ralph)
Jan-Jaap




More information about the gcc mailing list