--- lbbs/src/screen.c 2004/10/22 15:21:28 1.1 +++ lbbs/src/screen.c 2004/10/22 19:51:01 1.4 @@ -28,12 +28,22 @@ moveto (int row, int col) { prints ("\r"); } + iflush(); } void clrtoeol () { prints ("\033[K"); + iflush(); +} + +void +clearscr() +{ + prints ("\33[2J"); + moveto (0,0); + iflush(); } int @@ -98,13 +108,21 @@ str_input (char *buffer, int buffer_leng int display_file(const char* filename) { - char buffer[256]; + char buffer[260]; FILE *fin; + int i; if ((fin = fopen(filename, "r")) != NULL) { while (fgets(buffer, 255, fin)) { + i = strlen(buffer); + if (buffer[i-1] == '\n' && buffer[i-2] != '\r') + { + buffer[i-1] = '\r'; + buffer[i] = '\n'; + buffer[i+1] = '\0'; + } prints (buffer); iflush (); } @@ -127,3 +145,12 @@ show_bottom() { return 0; } + +int +press_any_key() +{ + prints (" \033[1;33m°´ÈÎÒâ¼üÅ̼ÌÐø...\033[0;37m"); + iflush(); + + return igetch (); +}