svn commit: r347391 - in head/stand: efi/libefi i386/libi386
Toomas Soome
tsoome at FreeBSD.org
Thu May 9 12:14:53 UTC 2019
Author: tsoome
Date: Thu May 9 12:14:52 2019
New Revision: 347391
URL: https://svnweb.freebsd.org/changeset/base/347391
Log:
loader: no-TERM_EMU is broken now
If TERM_EMU is not defined, we do not have curx variable. Use conout mode
for efi and expose get_pos() for i386.
Modified:
head/stand/efi/libefi/efi_console.c
head/stand/i386/libi386/vidconsole.c
Modified: head/stand/efi/libefi/efi_console.c
==============================================================================
--- head/stand/efi/libefi/efi_console.c Thu May 9 11:34:46 2019 (r347390)
+++ head/stand/efi/libefi/efi_console.c Thu May 9 12:14:52 2019 (r347391)
@@ -138,7 +138,7 @@ efi_cons_rawputchar(int c)
if (c == '\t') {
int n;
- n = 8 - ((curx + 8) % 8);
+ n = 8 - ((conout->Mode->CursorColumn + 8) % 8);
for (i = 0; i < n; i++)
efi_cons_rawputchar(' ');
} else {
Modified: head/stand/i386/libi386/vidconsole.c
==============================================================================
--- head/stand/i386/libi386/vidconsole.c Thu May 9 11:34:46 2019 (r347390)
+++ head/stand/i386/libi386/vidconsole.c Thu May 9 12:14:52 2019 (r347391)
@@ -49,6 +49,8 @@ static int vidc_ischar(void);
static int vidc_started;
+void get_pos(int *x, int *y);
+
#ifdef TERM_EMU
#define MAXARGS 8
#define DEFAULT_FGCOLOR 7
@@ -57,7 +59,6 @@ static int vidc_started;
void end_term(void);
void bail_out(int c);
void vidc_term_emu(int c);
-void get_pos(int *x, int *y);
void curs_move(int *_x, int *_y, int x, int y);
void write_char(int c, int fg, int bg);
void scroll_up(int rows, int fg, int bg);
@@ -138,7 +139,12 @@ vidc_rawputchar(int c)
if (c == '\t') {
int n;
+#ifndef TERM_EMU
+ int curx, cury;
+ get_pos(&curx, %cury);
+#endif
+
n = 8 - ((curx + 8) % 8);
for (i = 0; i < n; i++)
vidc_rawputchar(' ');
@@ -190,8 +196,6 @@ vidc_rawputchar(int c)
}
}
-#ifdef TERM_EMU
-
/* Get cursor position on the screen. Result is in edx. Sets
* curx and cury appropriately.
*/
@@ -207,6 +211,8 @@ get_pos(int *x, int *y)
*x = v86.edx & 0x00ff;
*y = (v86.edx & 0xff00) >> 8;
}
+
+#ifdef TERM_EMU
/* Move cursor to x rows and y cols (0-based). */
void
More information about the svn-src-all
mailing list