button = ((key == KEY_LEFT ? --button : ++button) < 0) ? 1 : (button > 1 ? 0 : button); 
button = ((key == KEY_LEFT ? --button : ++button) < 0) ? 1 : (button > 1 ? 0 : button); 
int dialog_yesno(const char *title, const char *prompt, int height, int width){	int i, x, y, key = 0, button = 0;	WINDOW *dialog;	/* center dialog box on screen */	x = (COLS - width) / 2;	y = (LINES - height) / 2;	draw_shadow(stdscr, y, x, height, width);	dialog = newwin(height, width, y, x);	keypad(dialog, TRUE);	draw_box(dialog, 0, 0, height, width, dialog_attr, border_attr);	wattrset(dialog, border_attr);	mvwaddch(dialog, height - 3, 0, ACS_LTEE);	for (i = 0; i < width - 2; i++)		waddch(dialog, ACS_HLINE);	wattrset(dialog, dialog_attr);	waddch(dialog, ACS_RTEE);	if (title != NULL && strlen(title) >= width - 2) {		/* truncate long title -- mec */		char *title2 = malloc(width - 2 + 1);		memcpy(title2, title, width - 2);		title2[width - 2] = '\0';		title = title2;	}	if (title != NULL) {		wattrset(dialog, title_attr);		mvwaddch(dialog, 0, (width - strlen(title)) / 2 - 1, ' ');		waddstr(dialog, (char *)title);		waddch(dialog, ' ');	}	wattrset(dialog, dialog_attr);	print_autowrap(dialog, prompt, width - 2, 1, 3);	print_buttons(dialog, height, width, 0);	while (key != ESC) {		key = wgetch(dialog);		switch (key) {		case 'Y':		case 'y':			delwin(dialog);			return 0;		case 'N':		case 'n':			delwin(dialog);			return 1;		case TAB:		case KEY_LEFT:		case KEY_RIGHT:			button = ((key == KEY_LEFT ? --button : ++button) < 0)			    ? 1 : (button > 1 ? 0 : button);			print_buttons(dialog, height, width, button);			wrefresh(dialog);			break;		case ' ':		case '\n':			delwin(dialog);			return button;		case ESC:			break;		}	}	delwin(dialog);	return -1;		/* ESC pressed */}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/dec69da856653772d7ee7b2f98dc69da27274a22/yesno.c/clean/scripts/lxdialog/yesno.c