diff --git a/src/bin/shell/main.c b/src/bin/shell/main.c index 417191d..7245508 100755 --- a/src/bin/shell/main.c +++ b/src/bin/shell/main.c @@ -30,23 +30,24 @@ } void gets(char *buffer) { - int count = 0,ch=0; + int count=0,ch=0; while (1) { ch = fgetc(stdin); if(ch == 10) break; - if(ch == 8 && count > 0) count-=2; + else if(ch == 8 && count > 0) count-=2; + else if(ch == 0) count--; else buffer[count] = ch; printf("%c",ch); - count++; + count ++; } buffer[count] = '\0'; } int main() { - char buffer[256]; + unsigned char buffer[256]; while (1) { printf("\nUbixOS: "); - gets(buffer); + gets(&buffer); if (0 == memcmp(buffer, "uname", 5)) printf("Yipe.\n"); else