示例#1
0
void
pr_scaps()
{
	char *retptr;
	char padbuffer[512];

	/* Backspace if not "^H" */
	if (verbose)
		(void) fprintf(trace, "looking at 'bc'\n");
	retptr = cconvert(rmpadding(cursor_left, padbuffer, (int *) 0));
	if (strcmp("\\b", retptr) != 0)
		pr_string((char *)0, "bc", (char *)0, cursor_left);

	/* Newline character (default "\n") */
	if (verbose)
		(void) fprintf(trace, "looking at 'nl'\n");
	retptr = cconvert(rmpadding(cursor_down, padbuffer, (int *) 0));
	if (strcmp("\\n", retptr) != 0)
		pr_string((char *)0, "nl", (char *)0, cursor_down);

	/* Handle "ko" here: Termcap entries for other non-function keys */
	pr_ko();

	/* Ignore "ma": Arrow key map, used by vi version 2 only */
}
示例#2
0
void
pr_bcaps()
{
	char *retptr;
	char padbuffer[512];

	if (verbose)
		(void) fprintf(trace, "looking at 'bs'\n");
	retptr = cconvert(rmpadding(cursor_left, padbuffer, (int *) 0));
	if (strcmp("\\b", retptr) == 0)
		pr_boolean((char *)0, "bs", (char *)0, 1);

	if (verbose)
		(void) fprintf(trace, "looking at 'pt'\n");
	retptr = cconvert(rmpadding(tab, padbuffer, (int *) 0));
	if (strcmp("\\t", retptr) == 0)
		pr_boolean((char *)0, "pt", (char *)0, 1);

	if (verbose)
		(void) fprintf(trace, "looking at 'nc'\n");
	retptr = cconvert(rmpadding(carriage_return, padbuffer, (int *) 0));
	if (strcmp("\\r", retptr) != 0)
		pr_boolean((char *)0, "nc", (char *)0, 1);

	if (verbose)
		(void) fprintf(trace, "looking at 'ns'\n");
	if (scroll_forward == NULL)
		pr_boolean((char *)0, "ns", (char *)0, 1);

	/* Ignore "xr": Return acts like ce \r \n (Delta Data) */
}
示例#3
0
void
pr_ncaps()
{
	char padbuffer[512];
	int padding;

	if (verbose)
		(void) fprintf(trace, "looking at 'ug'\n");
	/* Duplicate sg for ug: Number of blank chars left by us or ue */
	if (magic_cookie_glitch > -1)
		pr_number((char *)0, "ug", (char *)0, magic_cookie_glitch);

	if (verbose)
		(void) fprintf(trace, "looking at 'dB'\n");
	/* Number of millisec of bs delay needed */
	(void) rmpadding(cursor_left, padbuffer, &padding);
	if (padding > 0)
		pr_number((char *)0, "dB", (char *)0, padding);

	if (verbose)
		(void) fprintf(trace, "looking at 'dC'\n");
	/* Number of millisec of cr delay needed */
	(void) rmpadding(carriage_return, padbuffer, &padding);
	if (padding > 0)
		pr_number((char *)0, "dC", (char *)0, padding);

	if (verbose)
		(void) fprintf(trace, "looking at 'dF'\n");
	/* Number of millisec of ff delay needed */
	(void) rmpadding(form_feed, padbuffer, &padding);
	if (padding > 0)
		pr_number((char *)0, "dF", (char *)0, padding);

	if (verbose)
		(void) fprintf(trace, "looking at 'dN'\n");
	/* Number of millisec of nl delay needed */
	(void) rmpadding(cursor_down, padbuffer, &padding);
	if (padding > 0)
		pr_number((char *)0, "dN", (char *)0, padding);

	if (verbose)
		(void) fprintf(trace, "looking at 'dT'\n");
	/* Number of millisec of tab delay needed */
	(void) rmpadding(tab, padbuffer, &padding);
	if (padding > 0)
		pr_number((char *)0, "dT", (char *)0, padding);

	/* Handle "kn": Number of "other" keys */
	setupknko();
	pr_kn();
}
示例#4
0
文件: cexpand.c 项目: andreiw/polaris
char
*cexpand(char *str)
{
	char padbuffer[512];
	char *retptr;

	retptr = rmpadding(str, padbuffer, (int *)0);
	(void) sprintf(ret2buffer, "%s%s", padbuffer, cconvert(retptr));

	return (ret2buffer);
}
示例#5
0
char
*addko(char *output, char *input, char *koptr)
{
	char *inptr, *outptr, padbuffer[512];
	inptr = tgetstr(input, (char **)0);
	if (inptr == NULL)
		return (koptr);
	outptr = tgetstr(output, (char **)0);
	if (outptr == NULL)
		return (koptr);
	outptr = rmpadding(outptr, padbuffer, (int *) 0);
	if (strcmp(inptr, outptr) == 0) {
		*koptr++ = *output++;
		*koptr++ = *output++;
		*koptr++ = ',';
		kncounter++;
	}
	return (koptr);
}