if (SCRN_BUF_CHARS(screen, row)[col] != XMC_GLITCH) {
if (getXtermCell(screen, row, col) != XMC_GLITCH) {
void Resolve_XMC(register TScreen *screen){	Boolean changed = False;	Char start;	Char my_attrs = (screen->xmc_attributes & XMC_FLAGS);	int row = screen->cur_row;	int col = screen->cur_col;	/* Find the preceding cell.	 */	if (SCRN_BUF_CHARS(screen, row)[col] != XMC_GLITCH) {		if (col != 0) {			col--;		} else if (!screen->xmc_inline && row != 0) {			row--;			col = CurMaxCol(screen, row);		}	}	start = (SCRN_BUF_ATTRS(screen, row)[col] & my_attrs);	/* Now propagate the starting state until we reach a cell which holds	 * a glitch.	 */	for (;;) {		if (col < CurMaxCol(screen, row)) {			col++;		} else if (!screen->xmc_inline && row < screen->max_row) {			row++;			col = 0;		} else			break;		if (SCRN_BUF_CHARS(screen, row)[col] == XMC_GLITCH)			break;		if ((SCRN_BUF_ATTRS(screen, row)[col] & my_attrs) != start) {			SCRN_BUF_ATTRS(screen, row)[col] = start |				(SCRN_BUF_ATTRS(screen, row)[col] & ~my_attrs);			changed = True;		}	}	TRACE(("XMC %s (%s:%d/%d) from %d,%d to %d,%d\n",		changed ? "Ripple" : "Nochange",		term->flags & my_attrs ? "on" : "off",		my_attrs, start,		screen->cur_row, screen->cur_col, row, col))	if (changed) {		ScrnRefresh (screen, screen->cur_row, 0, row + 1 - screen->cur_row, screen->max_col + 1, True);	}}