Пример #1
0
char *
grub_tparm(const char *string,...)
{
    char *result;
    int *dataptr = (int *)(void *) &string;

    dataptr++;

    result = tparam_internal(string, dataptr);

    return result;
}
Пример #2
0
char *tparm(NCURSES_CONST char *string, ...)
{
va_list	ap;
char *result;

	va_start(ap, string);
#ifdef TRACE
	tname = "tparm";
#endif /* TRACE */
	result = tparam_internal(string, ap);
	va_end(ap);
	return result;
}
Пример #3
0
				/* scan forward for a %; at level zero */
				string++;
				level = 0;
				while (*string) {
					if (*string == '%') {
						string++;
						if (*string == '?')
							level++;
						else if (*string == ';') {
							if (level > 0)
								level--;
							else
								break;
						}
					}

					if (*string)
						string++;
				}
				break;

			case ';':
				break;

			} /* endswitch (*string) */
		} /* endelse (*string == '%') */

		if (*string == '\0')
			break;

		string++;
	} /* endwhile (*string) */

	if (out_buff == 0)
		out_buff = calloc(1,1);
	if (out_used == 0)
		*out_buff = '\0';

	T((T_RETURN("%s"), _nc_visbuf(out_buff)));
	return(out_buff);
}

char *tparm(NCURSES_CONST char *string, ...)
{
va_list	ap;
char *result;

	va_start(ap, string);
#ifdef TRACE
	tname = "tparm";
#endif /* TRACE */
	result = tparam_internal(string, ap);
	va_end(ap);
	return result;
}

#ifdef __UNUSED__	/* we never documented this, and it confuses Emacs */
char *tparam(const char *string, char *buffer, int bufsiz, ...)
{
va_list	ap;
char *result = 0;

	va_start(ap, bufsiz);
#ifdef TRACE
	tname = "tparam";
#endif /* TRACE */
	if (tparam_internal(string, ap) != 0
	 && (int)out_used < bufsiz)
	 	result = strcpy(buffer, out_buff);
	va_end(ap);
	return result;
}