1
0
mirror of https://github.com/irssi/irssi.git synced 2024-07-07 02:54:19 -04:00

printtext_string() fix, should actually work now :)

git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1073 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2001-01-05 08:34:39 +00:00 committed by cras
parent 86aa2d514d
commit 19d111eff4

View File

@ -219,6 +219,32 @@ static char *printtext_get_args(TEXT_DEST_REC *dest, const char *str, va_list va
return ret;
}
static char *printtext_expand_formats(TEXT_DEST_REC *dest, const char *str)
{
GString *out;
char *ret;
out = g_string_new(NULL);
for (; *str != '\0'; str++) {
if (*str != '%') {
g_string_append_c(out, *str);
continue;
}
if (*++str == '\0')
break;
if (!format_expand_styles(out, *str, dest)) {
g_string_append_c(out, '%');
g_string_append_c(out, *str);
}
}
ret = out->str;
g_string_free(out, FALSE);
return ret;
}
void printtext_dest(TEXT_DEST_REC *dest, const char *text, va_list va)
{
char *str;
@ -253,6 +279,7 @@ void printtext(void *server, const char *target, int level, const char *text, ..
void printtext_string(void *server, const char *target, int level, const char *text)
{
TEXT_DEST_REC dest;
char *str;
g_return_if_fail(text != NULL);
@ -264,7 +291,9 @@ void printtext_string(void *server, const char *target, int level, const char *t
sending_print_starting = FALSE;
}
print_line(&dest, text);
str = printtext_expand_formats(&dest, text);
print_line(&dest, str);
g_free(str);
}
void printtext_window(WINDOW_REC *window, int level, const char *text, ...)