Avoid a lot of malloc/free traffic

Each console write caused temporary buffer allocation.

Avoid allocations by changing console_draw_str() to use Forth
string parameters, which are usually readily available.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@872 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
Blue Swirl
2010-09-29 20:30:51 +00:00
parent 9db24694ca
commit b60891b683
9 changed files with 15 additions and 34 deletions

View File

@@ -382,12 +382,12 @@ do_con_trol(unsigned char ch)
}
int
console_draw_str( const char *str )
console_draw_fstr(const char *str, int len)
{
unsigned int y, x;
unsigned char ch;
if (!str) {
if (!str || len <= 0) {
return 0;
}
@@ -395,7 +395,7 @@ console_draw_str( const char *str )
return -1;
show_cursor(0);
while( (ch=*str++) ) {
while((ch = *str++) && len--) {
do_con_trol(ch);
if( cons.x >= cons.w ) {