mirror of
https://github.com/irssi/irssi.git
synced 2025-02-02 15:08:01 -05: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:
parent
86aa2d514d
commit
19d111eff4
@ -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, ...)
|
||||
|
Loading…
Reference in New Issue
Block a user