What's needed for sprintf?

Matt Gessner mgessner@Avidyne.com
Fri Sep 22 19:34:00 GMT 2006


Hi, all,

Very occasionally, a call to sprintf will go off into the weeds... The
culprit is memmove, which is being given some out-of-range pointers.  

As you can imagine, this can be quite difficult to debug, partly because
I have no interactive debugger, but mostly because I can sometimes leave
the system to run for literally days on end with no problems, but a
restart can sometimes leave me in a spot where the system just dies
after a few minutes.

I'm wondering if perhaps I've not defined everything I need to.  I have
a write_r() (which calls my own write()), open_r (which calls my open),
close_r (yada yada yada).  The rest of my functions like isatty are from
what was in the manual.

To the point: have I forgotten something that would cause fvwrite (which
is memmove's caller) to mistakenly decide to do something else with the
buffer that I otherwise wouldn't want?

I hope this is clear.  If it's not, I'd be happy to give some more
details.

Regards,

Matt Gessner



More information about the Newlib mailing list