* old version of the SILC client dating back to 1997.
*/
/* XXX: Input line handling is really buggy! */
-/*
- * $Id$
- * $Log$
- * Revision 1.3 2000/07/07 06:52:10 priikone
- * Fixed screen refresh routine.
- *
- * Revision 1.2 2000/07/05 06:12:05 priikone
- * Global cosmetic changes.
- *
- * Revision 1.1.1.1 2000/06/27 11:36:56 priikone
- * Imported from internal CVS/Added Log headers.
- *
- *
- */
+/* $Id$ */
#include "clientincludes.h"
{
SilcScreen new;
- new = silc_malloc(sizeof(*new));
- new->output_win_count = 0;
- new->input_pos = 0;
- new->cursor_pos = 0;
- new->virtual_window = 0;
+ new = silc_calloc(1, sizeof(*new));
new->insert = TRUE;
initscr();
{
assert(screen != NULL);
- screen->output_win = silc_malloc(sizeof(*screen->output_win) * 1);
+ screen->output_win = silc_calloc(1, sizeof(*screen->output_win));
screen->output_win_count = 1;
screen->output_win[0] = newwin(LINES - 3, COLS, 1, 0);
scrollok(screen->output_win[0], TRUE);
SILC_SCREEN_MAX_CHANNEL_LEN : len);
}
+ if (line->channel_mode) {
+ len = strlen(line->channel_mode);
+ strncat(buf, " (+", 3);
+ strncat(buf, line->channel_mode, len > SILC_SCREEN_MAX_CHANNEL_LEN ?
+ SILC_SCREEN_MAX_CHANNEL_LEN : len);
+ strncat(buf, ")", 2);
+ }
+
+ if (line->umode) {
+ len = strlen(line->umode);
+ strncat(buf, " [", 2);
+ strncat(buf, line->umode, len > SILC_SCREEN_MAX_UMODE_LEN ?
+ SILC_SCREEN_MAX_UMODE_LEN : len);
+ strncat(buf, "]", 2);
+ }
+
+ if (line->away)
+ strncat(buf, " (away)", 8);
+
wattrset(screen->output_stat_line[win_index], A_REVERSE);
for (i = 0; i < COLS - 10; i++)
screen->virtual_window--;
waddnstr(win, &buffer[screen->virtual_window * (COLS - 5)], COLS);
- screen->input_pos = ((screen->virtual_window + 1) * (COLS - 5)) + 1;
- screen->input_end = ((screen->virtual_window + 1) * (COLS - 5)) + 1;
- screen->cursor_pos = (COLS - 5) + 1;
+ screen->input_pos = ((screen->virtual_window + 1) * (COLS - 5));
+ screen->input_end = ((screen->virtual_window + 1) * (COLS - 5));
+ screen->cursor_pos = (COLS - 5);
wrefresh(win);
}
}
screen->virtual_window--;
waddnstr(win, &buffer[screen->virtual_window * (COLS - 5)], COLS);
- screen->input_pos = ((screen->virtual_window + 1) * (COLS - 5)) + 1;
- screen->cursor_pos = (COLS - 5) + 1;
+ screen->input_pos = ((screen->virtual_window + 1) * (COLS - 5));
+ screen->cursor_pos = (COLS - 5);
wrefresh(win);
}
}