New API call iso_conv_name_chars(), provisory implementation

This commit is contained in:
2013-12-19 15:41:55 +01:00
parent 88555bd059
commit 3e3c15812b
6 changed files with 181 additions and 2 deletions

View File

@ -241,8 +241,8 @@ ex:;
return retval;
}
int strnconv(const char *str, const char *icharset, const char *ocharset,
size_t len, char **output)
int strnconvl(const char *str, const char *icharset, const char *ocharset,
size_t len, char **output, size_t *out_len)
{
size_t inbytes;
size_t outbytes;
@ -291,6 +291,15 @@ ex:;
return retval;
}
int strnconv(const char *str, const char *icharset, const char *ocharset,
size_t len, char **output)
{
size_t l;
return strnconvl(str, icharset, ocharset, len, output, &l);
}
/**
* Convert a str in a specified codeset to WCHAR_T.
* The result must be free() when no more needed
@ -2227,3 +2236,13 @@ void iso_handle_split_utf16(uint16_t *utf_word)
set_ucsbe(utf_word, '_');
}
void iso_smash_chars_for_joliet(uint16_t *name)
{
size_t i;
for (i = 0; name[i] != 0; i++)
if (! valid_j_char(name[i]))
set_ucsbe(name + i, '_');
}