X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=gedcom%2Fencoding.h;h=93f69863562cedba392b94916e5673b0af810e37;hb=246182eba8a18f8d644d0a3ef9556000fae12aa1;hp=a44ed0b69adfcc6771a2027b17109f33be81f831;hpb=4c78192cf17bde2f3c6bff7bb90757c21d1e3792;p=gedcom-parse.git diff --git a/gedcom/encoding.h b/gedcom/encoding.h index a44ed0b..93f6986 100644 --- a/gedcom/encoding.h +++ b/gedcom/encoding.h @@ -26,14 +26,30 @@ #define __ENCODING_H #include "gedcom.h" -#include "utf8.h" +#include "utf8tools.h" + +#define MAX_CHARSET_LEN 32 +#define MAX_TERMINATOR_LEN 2 + +struct encoding_state { + char charset[MAX_CHARSET_LEN + 1]; + const char* encoding; + Encoding width; + Enc_bom bom; + char terminator[MAX_TERMINATOR_LEN + 1]; +}; + +struct encoding_state read_encoding; + +void init_encodings(); +char* get_encoding(const char* gedcom_n, Encoding enc); +void update_gconv_search_path(); int open_conv_to_internal(const char* fromcode); void close_conv_to_internal(); char* to_internal(const char* str, size_t len, struct conv_buffer *output_buf); -void init_encodings(); -char* get_encoding(const char* gedcom_n, Encoding enc); void set_encoding_width(Encoding enc); -void update_gconv_search_path(); +void set_encoding_bom(Enc_bom bom); +void set_encoding_terminator(char* term); #endif /* __ENCODING_H */