--- embedaddon/libiconv/man/iconv.3.html 2012/02/21 22:57:48 1.1.1.1 +++ embedaddon/libiconv/man/iconv.3.html 2012/05/29 09:29:43 1.1.1.2 @@ -1,14 +1,25 @@ - - + + +
+ +- |
- iconv − perform character set conversion - |
-
iconv − +perform character set conversion
+ +- |
-#include <iconv.h> + -size_t iconv (iconv_t cd, - const char* * inbuf, size_t * inbytesleft, - char* * outbuf, size_t * outbytesleft); -- |
-
#include +<iconv.h>
+ +size_t iconv
+(iconv_t cd,
+const char* * inbuf, size_t *
+inbytesleft,
+char* * outbuf, size_t *
+outbytesleft);
- |
- The argument cd must be a conversion descriptor -created using the function iconv_open. - -The main case is when inbuf is not NULL and -*inbuf is not NULL. In this case, the iconv -function converts the multibyte sequence starting at -*inbuf to a multibyte sequence starting at -*outbuf. At most *inbytesleft bytes, starting -at *inbuf, will be read. At most *outbytesleft -bytes, starting at *outbuf, will be written. - -The iconv function converts one multibyte -character at a time, and for each character conversion it -increments *inbuf and decrements *inbytesleft -by the number of converted input bytes, it increments + + The argument +cd must be a conversion descriptor created using the +function iconv_open. + +The main case +is when inbuf is not NULL and *inbuf is not +NULL. In this case, the iconv function converts the +multibyte sequence starting at *inbuf to a multibyte +sequence starting at *outbuf. At most +*inbytesleft bytes, starting at *inbuf, will +be read. At most *outbytesleft bytes, starting at +*outbuf, will be written. + +The +iconv function converts one multibyte character at a +time, and for each character conversion it increments +*inbuf and decrements *inbytesleft by the +number of converted input bytes, it increments *outbuf and decrements *outbytesleft by the number of converted output bytes, and it updates the conversion state contained in cd. If the character @@ -77,133 +85,123 @@ can also convert a sequence of input bytes to an updat the conversion state without producing any output bytes; such input is called a shift sequence. 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. - -2. The input byte sequence has been entirely converted, -i.e. *inbytesleft has gone down to 0. In this case + + 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. + +2. The input +byte sequence has been entirely converted, i.e. +*inbytesleft has gone down to 0. In this case iconv returns the number of non-reversible conversions performed during this call. - -3. An incomplete multibyte sequence is encountered in the -input, and the input byte sequence terminates after it. In -this case it sets errno to EINVAL and returns + + 3. An +incomplete multibyte sequence is encountered in the input, +and the input byte sequence terminates after it. In this +case it sets errno to EINVAL and returns (size_t)(−1). *inbuf is left pointing to the beginning of the incomplete multibyte sequence. - -4. The output buffer has no more room for the next -converted character. In this case it sets errno to -E2BIG and returns (size_t)(−1). - -A different case is when inbuf is NULL or -*inbuf is NULL, but outbuf is not NULL and -*outbuf is not NULL. In this case, the iconv -function attempts to set cd’s conversion state -to the initial state and store a corresponding shift -sequence at *outbuf. At most *outbytesleft -bytes, starting at *outbuf, will be written. If the -output buffer has no more room for this reset sequence, it -sets errno to E2BIG and returns -(size_t)(−1). Otherwise it increments *outbuf -and decrements *outbytesleft by the number of bytes -written. - -A third case is when inbuf is NULL or -*inbuf is NULL, and outbuf is NULL or -*outbuf is NULL. In this case, the iconv -function sets cd’s conversion state to the -initial state. - |
-
- |
- The iconv function returns the number of -characters converted in a non-reversible way during this -call; reversible conversions are not counted. In case of -error, it sets errno and returns + + 4. The output +buffer has no more room for the next converted character. In +this case it sets errno to E2BIG and returns (size_t)(−1). - |
-
A different +case is when inbuf is NULL or *inbuf is NULL, +but outbuf is not NULL and *outbuf is not +NULL. In this case, the iconv function attempts to +set cd’s conversion state to the initial state +and store a corresponding shift sequence at *outbuf. +At most *outbytesleft bytes, starting at +*outbuf, will be written. If the output buffer has no +more room for this reset sequence, it sets errno to +E2BIG and returns (size_t)(−1). Otherwise it +increments *outbuf and decrements +*outbytesleft by the number of bytes written.
+ +A third case is +when inbuf is NULL or *inbuf is NULL, and +outbuf is NULL or *outbuf is NULL. In this +case, the iconv function sets cd’s +conversion state to the initial state.
+ +The +iconv function returns the number of characters +converted in a non-reversible way during this call; +reversible conversions are not counted. In case of error, it +sets errno and returns (size_t)(−1).
+ +