Afternoon Dave,

On 20/04/12 09:18, Dave Walker wrote:

The strfnd function is not a standard function in C so any you come
> across are implementation defined.  I am guessing that your code has
> one with different semantics to the library one (which if I remember
> correctly is based on the Lattice C implementation), so you need to
> have a #undef statement to hide the library implementation.
Hmm, interesting. When I first compiled this system, strfnd did indeed have three parameters and I never had to udef anything. It's with the latest version of C68 that I'm hitting the problem as the header defines only two.

> I would guess that the three argument version you mentioned uses the
3rd argument to define continue behaviour which is why the problem with
> LOCATE/CONTINUE.
It does indeed define continue.

The _oserr variable is different to errno.   The idea is that errno is
> used for standard errors and is part of the C standard while _oserr
> is used for ones that are specific to the implementation.
Yes, I realised that and changed everything back to _oserr again.

> The standard _oserr variable is defined in the C startup module.
I can see that from the MAP file created.

However since an extra underscore gets added when viewing at the
> linker level, I am guessing this means that your code refers to it
> without the leading underscore somewhere.
That's what I though, but I'm still hitting the error and I've taken all the source files and searched for oserr and everything has a leading (single) underscore.

I've even gone as far as putting everything onto Linux and grepping for oserr, none of my source or header files have it without the underscore.

> In this particular case you are getting away with it because it is a
> simple variable and not a label for executing code.
Very true, but I'm not convinced the bug is in my code, I'm still hunting though. This all compiled perfectly with an older version of C68. I note from the comments in one of my source files that it has been amended to compile under C68 versions 3.02 and 3.04 and the latest, 4.5 Beta.

I may install an older version to see what's going on.


Cheers,
Norm.
--
Norman Dunbar
Dunbar IT Consultants Ltd

Registered address:
Thorpe House
61 Richardshaw Lane
Pudsey
West Yorkshire
United Kingdom
LS28 7EL

Company Number: 05132767
_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to