/[LeafOK_CVS]/lbbs/src/screen.c
ViewVC logotype

Diff of /lbbs/src/screen.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.13 by sysadm, Tue Mar 22 08:19:11 2005 UTC Revision 1.19 by sysadm, Fri May 6 17:03:02 2005 UTC
# Line 62  clrline (int line_begin, int line_end) Line 62  clrline (int line_begin, int line_end)
62  }  }
63    
64  void  void
65    clrtobot (int line_begin)
66    {
67      clrline (line_begin, screen_lines);
68      moveto (line_begin, 0);
69    }
70    
71    void
72  clearscr ()  clearscr ()
73  {  {
74    prints ("\33[2J");    prints ("\33[2J");
# Line 100  set_input_echo (int echo) Line 107  set_input_echo (int echo)
107  }  }
108    
109  int  int
110  str_input (char *buffer, int buffer_length, int echo_mode)  _str_input (char *buffer, int buffer_length, int echo_mode)
111  {  {
112    char buf[256], ch;    char buf[256], ch;
113    int c, offset = 0, len, loop = 1, i, hz = 0;    int c, offset = 0, len, loop = 1, i, hz = 0;
114    
115    memset (buffer, '\0', buffer_length);    for (i=0; i<buffer_length && buffer[i] != '\0'; i++)
116        {
117              offset++;
118        }
119    
120    while (c = igetch_t (60))    while (c = igetch_t (60))
121      {      {
122        if (c == KEY_NULL || c == KEY_TIMEOUT || c == CR)        if (c == KEY_NULL || c == KEY_TIMEOUT || c == CR)
123          break;          break;
124        if (c == LF)        if (c == LF)
125          continue;          continue;
126        if (c == BACKSPACE)        if (c == BACKSPACE)
# Line 141  str_input (char *buffer, int buffer_leng Line 151  str_input (char *buffer, int buffer_leng
151        buffer[offset] = '\0';        buffer[offset] = '\0';
152        switch (echo_mode)        switch (echo_mode)
153          {          {
154          case 0:          case DOECHO:
155            outc ((char) c);            outc ((char) c);
156            break;            break;
157          case 1:          case NOECHO:
158            outc ('*');            outc ('*');
159            break;            break;
160          }          }
# Line 161  str_input (char *buffer, int buffer_leng Line 171  str_input (char *buffer, int buffer_leng
171  }  }
172    
173  int  int
174    str_input (char *buffer, int buffer_length, int echo_mode)
175    {
176      int offset;
177      
178      memset (buffer, '\0', buffer_length);
179      
180      offset = _str_input (buffer, buffer_length, echo_mode);
181      
182      return offset;
183    };
184    
185    int
186    get_data (int row, int col, char *prompt, char *buffer, int buffer_length, int echo_mode)
187    {
188      int len;
189    
190      moveto (row, col);
191      iflush ();
192      prints (prompt);
193      prints (buffer);
194      iflush ();
195    
196      len = _str_input (buffer, buffer_length, echo_mode);
197      
198      return len;
199    }
200    
201    int
202  display_file (const char *filename)  display_file (const char *filename)
203  {  {
204    char buffer[260];    char buffer[260];


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1