New API call iso_conv_name_chars(), provisory implementation
This commit is contained in:
@ -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, '_');
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user