rem: if (argCount < 0) {
add: if (argCount == 0 || args[0] == 0) {
context: process_vt100_command(struct console_desc *con, const char c,	bool seen_bracket, int32 *args, int32 argCount){	bool ret = true;	//dprintf("process_vt100_command: c '%c', argCount %ld, arg[0] %ld, arg[1] %ld, seen_bracket %d\n",	//	c, argCount, args[0], args[1], seen_bracket);	if (seen_bracket) {		switch(c) {			case 'H': /* set cursor position */			case 'f': {				int32 row = argCount > 0 ? args[0] : 1;				int32 col = argCount > 1 ? args[1] : 1;				if (row > 0)					row--;				if (col > 0)					col--;				gotoxy(con, col, row);				break;			}			case 'A': { /* move up */				int32 deltay = argCount > 0 ? -args[0] : -1;				if (deltay == 0)					deltay = -1;				gotoxy(con, con->x, con->y + deltay);				break;			}			case 'e':			case 'B': { /* move down */				int32 deltay = argCount > 0 ? args[0] : 1;				if (deltay == 0)					deltay = 1;				gotoxy(con, con->x, con->y + deltay);				break;			}			case 'D': { /* move left */				int32 deltax = argCount > 0 ? -args[0] : -1;				if (deltax == 0)					deltax = -1;				gotoxy(con, con->x + deltax, con->y);				break;			}			case 'a':			case 'C': { /* move right */				int32 deltax = argCount > 0 ? args[0] : 1;				if (deltax == 0)					deltax = 1;				gotoxy(con, con->x + deltax, con->y);				break;			}			case '`':			case 'G': { /* set X position */				int32 newx = argCount > 0 ? args[0] : 1;				if (newx > 0)					newx--;				gotoxy(con, newx, con->y);				break;			}			case 'd': { /* set y position */				int32 newy = argCount > 0 ? args[0] : 1;				if (newy > 0)					newy--;				gotoxy(con, con->x, newy);				break;			}			case 's': /* save current cursor */				save_cur(con, false);				break;			case 'u': /* restore cursor */				restore_cur(con, false);				break;			case 'r': { /* set scroll region */				int32 low = argCount > 0 ? args[0] : 1;				int32 high = argCount > 1 ? args[1] : con->lines;				if (low <= high)					set_scroll_region(con, low - 1, high - 1);				break;			}			case 'L': { /* scroll virtual down at cursor */				int32 lines = argCount > 0 ? args[0] : 1;				while (lines > 0) {					scrdown(con);					lines--;				}				break;			}			case 'M': { /* scroll virtual up at cursor */				int32 lines = argCount > 0 ? args[0] : 1;				while (lines > 0) {					scrup(con);					lines--;				}				break;			}			case 'K':				if (argCount < 0) {					// erase to end of line					erase_line(con, LINE_ERASE_RIGHT);				} else {					if (args[0] == 1)						erase_line(con, LINE_ERASE_LEFT);					else if (args[0] == 2)						erase_line(con, LINE_ERASE_WHOLE);				}				break;			case 'J':				if (argCount < 0) {					// erase to end of screen					erase_screen(con, SCREEN_ERASE_DOWN);				} else {					if (args[0] == 1)						erase_screen(con, SCREEN_ERASE_UP);					else if (args[0] == 2)						erase_screen(con, SCREEN_ERASE_WHOLE);				}				break;			case 'm':				if (argCount >= 0)					set_vt100_attributes(con, args, argCount);				break;			default:				ret = false;		}	} else {		switch (c) {			case 'c':				reset_console(con);				break;			case 'D':				rlf(con);				break;			case 'M':				lf(con);				break;			case '7':				save_cur(con, true);				break;			case '8':				restore_cur(con, true);				break;			default:				ret = false;		}	}	return ret;}