char number1[20]; char number2[20];
char number1[DECIMAL_SIZE(uis->_.string_data.result_minsize)+1]; char number2[DECIMAL_SIZE(uis->_.string_data.result_maxsize)+1];
int UI_set_result(UI *ui, UI_STRING *uis, const char *result)	{	int l = strlen(result);	ui->flags &= ~UI_FLAG_REDOABLE;	if (!uis)		return -1;	switch (uis->type)		{	case UIT_PROMPT:	case UIT_VERIFY:		{		char number1[20];		char number2[20];		BIO_snprintf(number1, sizeof(number1), "%d",			uis->_.string_data.result_minsize);		BIO_snprintf(number2, sizeof(number2), "%d",			uis->_.string_data.result_maxsize);		if (l < uis->_.string_data.result_minsize)			{			ui->flags |= UI_FLAG_REDOABLE;			UIerr(UI_F_UI_SET_RESULT,UI_R_RESULT_TOO_SMALL);			ERR_add_error_data(5,"You must type in ",				number1," to ",number2," characters");			return -1;			}		if (l > uis->_.string_data.result_maxsize)			{			ui->flags |= UI_FLAG_REDOABLE;			UIerr(UI_F_UI_SET_RESULT,UI_R_RESULT_TOO_LARGE);			ERR_add_error_data(5,"You must type in ",				number1," to ",number2," characters");			return -1;			}		}		if (!uis->result_buf)			{			UIerr(UI_F_UI_SET_RESULT,UI_R_NO_RESULT_BUFFER);			return -1;			}		strcpy(uis->result_buf, result);		break;	case UIT_BOOLEAN:		{		const char *p;		if (!uis->result_buf)			{			UIerr(UI_F_UI_SET_RESULT,UI_R_NO_RESULT_BUFFER);			return -1;			}		uis->result_buf[0] = '\0';		for(p = result; *p; p++)			{			if (strchr(uis->_.boolean_data.ok_chars, *p))				{				uis->result_buf[0] =					uis->_.boolean_data.ok_chars[0];				break;				}			if (strchr(uis->_.boolean_data.cancel_chars, *p))				{				uis->result_buf[0] =					uis->_.boolean_data.cancel_chars[0];				break;				}			}	default:		break;		}		}	return 0;	}