@@ -531,7 +531,6 @@ static struct
531531
532532static void consoleSetColorState (int code )
533533{
534- SYS_Report ("code: %d, consoleState: %d\n" , code , escapeSeq .state );
535534 switch (code )
536535 {
537536 case 0 : // reset
@@ -650,34 +649,28 @@ static void consoleHandleColorEsc(int argCount)
650649 for (int arg = 0 ; arg < argCount ; arg ++ )
651650 {
652651 int code = escapeSeq .args [arg ];
653- SYS_Report ("start state: %d\n" , escapeSeq .state );
654652 switch (escapeSeq .state )
655653 {
656654 case ESC_BUILDING_UNKNOWN :
657655 consoleSetColorState (code );
658656 break ;
659657 case ESC_BUILDING_FORMAT_FG :
660- SYS_Report ("format fg %d\n" , code );
661658 if (code == 5 )
662659 escapeSeq .state = ESC_BUILDING_FORMAT_FG_NONRGB ;
663660 else if (code == 2 )
664661 escapeSeq .state = ESC_BUILDING_FORMAT_FG_RGB ;
665662 else
666663 escapeSeq .state = ESC_BUILDING_UNKNOWN ;
667- SYS_Report ("state: %d\n" , escapeSeq .state );
668664 break ;
669665 case ESC_BUILDING_FORMAT_BG :
670- SYS_Report ("format bg %d\n" , code );
671666 if (code == 5 )
672667 escapeSeq .state = ESC_BUILDING_FORMAT_BG_NONRGB ;
673668 else if (code == 2 )
674669 escapeSeq .state = ESC_BUILDING_FORMAT_BG_RGB ;
675670 else
676671 escapeSeq .state = ESC_BUILDING_UNKNOWN ;
677- SYS_Report ("state: %d\n" , escapeSeq .state );
678672 break ;
679673 case ESC_BUILDING_FORMAT_FG_NONRGB :
680- SYS_Report ("format fg non rgb\n" );
681674 if (code <= 15 ) {
682675 escapeSeq .color .fg = code ;
683676 escapeSeq .color .flags &= ~CONSOLE_FG_CUSTOM ;
@@ -698,7 +691,6 @@ static void consoleHandleColorEsc(int argCount)
698691 escapeSeq .state = ESC_BUILDING_UNKNOWN ;
699692 break ;
700693 case ESC_BUILDING_FORMAT_BG_NONRGB :
701- SYS_Report ("format bg non rgb\n" );
702694 if (code <= 15 ) {
703695 escapeSeq .color .bg = code ;
704696 escapeSeq .color .flags &= ~CONSOLE_BG_CUSTOM ;
@@ -719,7 +711,6 @@ static void consoleHandleColorEsc(int argCount)
719711 escapeSeq .state = ESC_BUILDING_UNKNOWN ;
720712 break ;
721713 case ESC_BUILDING_FORMAT_FG_RGB :
722- SYS_Report ("format fg rgb arg %d\n" , escapeSeq .colorArgCount );
723714 escapeSeq .colorArgs [escapeSeq .colorArgCount ++ ] = code ;
724715 if (escapeSeq .colorArgCount == 3 )
725716 {
@@ -729,7 +720,6 @@ static void consoleHandleColorEsc(int argCount)
729720 }
730721 break ;
731722 case ESC_BUILDING_FORMAT_BG_RGB :
732- SYS_Report ("format fg rgb arg %d\n" , escapeSeq .colorArgCount );
733723 escapeSeq .colorArgs [escapeSeq .colorArgCount ++ ] = code ;
734724 if (escapeSeq .colorArgCount == 3 )
735725 {
@@ -738,10 +728,8 @@ static void consoleHandleColorEsc(int argCount)
738728 escapeSeq .state = ESC_BUILDING_UNKNOWN ;
739729 }
740730 default :
741- SYS_Report ("unhandled state %d\n" , escapeSeq .state );
742731 break ;
743732 }
744- SYS_Report ("end state: %d\n" , escapeSeq .state );
745733 }
746734 escapeSeq .argIdx = 0 ;
747735}
@@ -847,8 +835,6 @@ ssize_t __console_write(struct _reent *r,void *fd,const char *ptr, size_t len)
847835 if (!currentConsole ) return -1 ;
848836 if (!tmp || len <=0 ) return -1 ;
849837
850- SYS_Report ("write state %d\n" , escapeSeq .state );
851-
852838 while (i < len ) {
853839
854840 chr = * (tmp ++ );
@@ -993,6 +979,7 @@ ssize_t __console_write(struct _reent *r,void *fd,const char *ptr, size_t len)
993979 // Color scan codes
994980 //---------------------------------------
995981 case 'm' :
982+ if (escapeSeq .argIdx == 0 && !escapeSeq .hasArg ) escapeSeq .args [escapeSeq .argIdx ++ ] = 0 ;
996983 if (escapeSeq .hasArg ) escapeSeq .argIdx ++ ;
997984 consoleHandleColorEsc (escapeSeq .argIdx );
998985 consoleColorApply ();
0 commit comments