-int gedcom_write_set_encoding(const char* new_charset,
- Encoding width, Enc_bom bom)
-{
- char* new_encoding = NULL;
- if (!strcmp(new_charset, "UNICODE")) {
- if (width == ONE_BYTE) {
- gedcom_error(_("Unicode cannot be encoded into one byte"));
- return 1;
- }
- else {
- new_encoding = get_encoding(new_charset, width);
- if (new_encoding) {
- write_encoding.encoding = new_encoding;
- write_encoding.width = width;
- write_encoding.bom = bom;
- strncpy(write_encoding.charset, new_charset, MAX_CHARSET_LEN);
- }
- else
- return 1;
- }
- }
- else {
- new_encoding = get_encoding(new_charset, ONE_BYTE);
- if (new_encoding) {
- write_encoding.encoding = new_encoding;
- write_encoding.width = ONE_BYTE;
- write_encoding.bom = bom;
- strncpy(write_encoding.charset, new_charset, MAX_CHARSET_LEN);
- }
- else
- return 1;
- }
- return 0;
-}
-
-int gedcom_write_set_line_terminator(Enc_line_end end)
-{
- strncpy(write_encoding.terminator, terminator[end], MAX_TERMINATOR_LEN);
- return 0;
-}
-