add better print function

This commit is contained in:
cy384 2020-07-26 10:13:51 -04:00
parent 9242fc4ef6
commit aef30ac837
3 changed files with 88 additions and 52 deletions

View file

@ -147,12 +147,54 @@ void print_string_i(const char* c)
void print_string(const char* c)
{
for (int i = 0; i < strlen(c); i++)
while (*c != '\0')
{
print_char(c[i]);
print_char(*c++);
}
}
void printf_i(const char* str, ...)
{
va_list args;
va_start(args, str);
while (*str != '\0')
{
if (*str == '%')
{
str++;
switch (*str)
{
case 'd':
print_int(va_arg(args, int));
break;
case 's':
print_string(va_arg(args, char*));
default:
va_arg(args, int); // ignore
print_char('%');
print_char(*str);
break;
}
}
else if (*str == '\\')
{
str++;
print_char(*str);
}
else
{
print_char(*str);
}
str++;
}
InvalRect(&(con.win->portRect));
va_end(args);
}
void set_window_title(WindowPtr w, const char* c_name)
{
Str255 pascal_name;