https://bugzilla.kernel.org/show_bug.cgi?id=217059 Bug ID: 217059 Summary: Please document behaviour of iconv(3) when input is untranslatable Product: Documentation Version: unspecified Hardware: All OS: Linux Status: NEW Severity: normal Priority: P1 Component: man-pages Assignee: documentation_man-pages@xxxxxxxxxxxxxxxxxxxx Reporter: rrt@xxxxxxxx Regression: No See https://sourceware.org/bugzilla/show_bug.cgi?id=29913 The issue is that the man page does not fully reflect the behaviour of glibc's iconv. The man page says: The conversion can stop for four reasons: 1. An invalid multibyte sequence is encountered in the input. In this case, it sets errno to EILSEQ and returns (size_t) -1. *inbuf is left pointing to the beginning of the invalid multibyte sequence. The phrase "An invalid multibyte sequence is encountered in the input" is confusing, because it suggests to me (and other readers, see the bug above!) that it refers only to the validity of the input per se (e.g. a non-UTF-8 sequence in input purporting to be UTF-8). However, according to the original author of the man page, Bruno Haible (see the bug above), it also refers to input that cannot be translated to the desired output encoding; and indeed, glibc's iconv returns EILSEQ when the input cannot be translated, even though it is valid. Please clarify the man page to reflect this behaviour. On the one hand, it is confusing and surprising when compared to the POSIX standard (again, for this reader and others); on the other hand, it is useful (because it enables untranslatable input to be detected). -- You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.