int roomlen, scorelen, scoreofs;
int len, tmp;
- statusline[curx - 1] = 0; /* terminate! */
-
packspaces(statusline, packed);
//strcpy(packed, statusline);
len = os_string_length(packed);
else {
if (cury == 1)
{
- if (curx < sizeof statusline)
+ if (curx <= ((sizeof statusline / sizeof(zchar)) - 1))
+ {
statusline[curx - 1] = c;
- curx++;
- if (curx <= h_screen_cols)
+ statusline[curx] = 0;
+ }
+ if (curx < h_screen_cols)
+ {
+ glk_put_char_uni(c);
+ }
+ else if (curx == h_screen_cols)
+ {
glk_put_char_uni(c);
+ glk_window_move_cursor(gos_curwin, curx-1, cury-1);
+ }
else
+ {
smartstatusline();
+ }
+ curx ++;
}
else
{
- glk_put_char_uni(c);
- curx++;
- if (curx > h_screen_cols) {
- curx = 1;
- cury++;
+ if (curx < h_screen_cols)
+ {
+ glk_put_char_uni(c);
+ }
+ else if (curx == (h_screen_cols))
+ {
+ glk_put_char_uni(c);
+ glk_window_move_cursor(gos_curwin, curx-1, cury-1);
}
+ curx++;
}
}
}
glk_set_window(gos_upper);
gos_curwin = gos_upper;
+#ifdef GARGLK
+ garglk_set_reversevideo(TRUE);
+#endif /* GARGLK */
+
curx = cury = 1;
glk_window_move_cursor(gos_upper, 0, 0);