Imported Upstream version 2.9.0
[debian/cc1111] / device / lib / gets.c
1 #include <stdio.h>
2
3 char * gets(char *s) {
4   char c;
5   unsigned int count=0;
6   
7   while (1) {
8     c=getchar();
9     switch(c) {
10     case '\b': // backspace
11       if (count) {
12         putchar ('\b');
13         putchar (' ');
14         putchar ('\b');
15         s--;
16         count--;
17       }
18       break;
19     case '\n':
20     case '\r': // CR or LF
21       putchar('\r');
22       putchar('\n');
23       *s=0;
24       return s;
25     default:
26       *s++=c;
27       count++;
28       putchar(c);
29       break;
30     }
31   }
32 }