This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problem with getchar / gets / fgets


On Tue, 2004-09-14 at 12:37, Nicolas Brouard wrote:
> Hi,
> 
> I'm using a board based on a MPC860 processor.
> I try to make a shell application, but the getchar function (or gets, or
> fgets(stdin)) doesn't work very well. Each character requires to be hit
> about 5 to 10 times after which it shows up.
> 
> The test I did is very simple and works perfectly with the powerpc simulator
> target (psim).
> ------------------------------
> #include <stdio.h>
> static char line[256];
> int main(void)
> {
>     printf("hello\n");
>     while(1)
>     {
>         printf("toto> ");
>         gets(line);
>         printf("%s", line);
>     }
>     return 0;
> }
> ------------------------------
> 
> The same problem was posted before in the mailing list, and nobody answers.
> http://sources.redhat.com/ml/ecos-discuss/2003-12/msg00321.html
> 
> Does anybody have an idea about that?

This program behaves perfectly - I just ran it on my Adder (PowerPC 852)

I think the behaviour you are seeing is that gets() and getchar() are
line-oriented, buffered calls.  Input is only sent on to the program 
once a carriage return (newline, '\n') has been entered.

Here's the output I got:
RedBoot> l a.t
Using default protocol (TFTP)
Entry point: 0x00040000, address range: 0x00040000-0x0007f6c8
RedBoot> g
hello
toto> this is a test
this is a test
toto> hello, world!
hello, world!
toto> adef
adef
toto> 

Note: the message you quoted from last December shows exactly the
same behaviour.

-- 
Gary Thomas <gary@mlbassoc.com>
MLB Associates


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]