Save iconv converters for input and output in the server.

These are then used with g_convert_with_iconv instead of making it create a new iconv converter every time for the given from-to-encoding pairs.
This commit is contained in:
Arnavion
2015-01-31 00:52:31 -08:00
parent 5dde0d7c6d
commit 1d83610341
7 changed files with 53 additions and 25 deletions

View File

@@ -57,12 +57,15 @@ void text_emit (int index, session *sess, char *a, char *b, char *c, char *d,
time_t timestamp);
int text_emit_by_name (char *name, session *sess, time_t timestamp,
char *a, char *b, char *c, char *d);
gchar *text_invalid_utf8_to_encoding (const gchar* text, gssize len, const gchar *to_encoding, gsize *len_out);
gchar *text_invalid_encoding_to_utf8 (const gchar* text, gssize len, const gchar *from_encoding, gsize *len_out);
gchar *text_convert_invalid (const gchar* text, gssize len, GIConv converter, const gchar *fallback, gsize *len_out);
gchar *text_fixup_invalid_utf8 (const gchar* text, gssize len, gsize *len_out);
int get_stamp_str (char *fmt, time_t tim, char **ret);
void format_event (session *sess, int index, char **args, char *o, gsize sizeofo, unsigned int stripcolor_args);
char *text_find_format_string (char *name);
extern const gchar* unicode_fallback_string;
extern const gchar* arbitrary_encoding_fallback_string;
void sound_play (const char *file, gboolean quiet);
void sound_play_event (int i);
void sound_beep (session *);