+Notice that when the function is called with a non-{\tt NULL} buffer, the
+{\it n} parameter should be the size of the buffer and so it {\bf should} take
+into account the trailing NUL, which might take two or four bytes for some
+encodings (UTF-16 and UTF-32).