You discovered a bug in the engine, and you are sure that it is not a problem of your code? Just post it in here. Please read the bug posting guidelines first.
Just a small thing, probably been corrected, anyway.
c16 doesn't seem to be in the irr namespace, at least with my build.
There is probably a reason for it, but it just seems inconsistent.
That's simply because we don't have a 2byte char type. wchar_t under Linux is 4 bytes long (in general), so there's no simple way to ensure the byte count. Use u8 for byte streams, c8 for C-style chars, and core::stringc/core::stringw for the rest.