Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
         Pass-through iconv code conversion
    1.2. Name of Document Author/Supplier:
         Author:  Ienup Sung
    1.3  Date of This Document:
        14 October, 2009
4. Technical Description

OVERVIEW

The iconv code conversions in Solaris are, at current and mainly,
supported by dynamically loaded iconv code conversion modules.
These modules are either the geniconvtbl.so iconv shared object with
a corresponding geniconvtbl binary table or a specific iconv shared
object that deals with the requested code conversion. (The fromcode
and the tocode input arguments to iconv_open(3C) dictate on what
will be dynamically loaded.)

With this scheme, if there is no corresponding iconv code conversion
module/data for the requested code conversion, then, even when the fromcode
and the tocode are specifying the same codeset, the iconv_open(3C) will
just fail.

While this is a normal behavior, if you consider about many real world
use of the iconv code conversions at FOSS software components in particular,
such is not really ideal since there are numerous occasions where iconv code
conversions are initiated with the fromcode and the tocode input arguments to
iconv_open(3C) specifying the same codeset name as described in the [1].
(Linux distributions provide a pass-through iconv code conversion for
the case.)

To aid such FOSS software components and increase compatibility with
Linux runtime behavior, this project adds a pass-through iconv code conversion
support at libc iconv.

This pass-through iconv code conversion will be embedded into libc
and will be activated as the fallback iff the fromcode and the tocode
input argument values at iconv_open() are pointing to the same codeset name
and there is no corresponding iconv code conversion explicitly defined in
the system. Also, it will be a simple byte-by-byte pass-through operation
without any illegal or incomplete character or shift sequence checking.


INTERFACE STABILITY AND RELEASE BINDING

The project imports no notable interface. The project exports the following:


        Interface       Stability       Note

        iconv_open(3)   Committed       Additional behavior noted with
                                        change bars shown at [2].

The project team asks for Micro/Patch release binding.


REFERENCES

[1] CR 5081857
    On solaris iconv_open () fails if both the arguments have the same codset
[2] Updated iconv_open.3c man page in flat text (with change bars) at
    the materials directory of the case.

6. Resources and Schedule
    6.4. Steering Committee requested information
        6.4.1. Consolidation C-team Name:
                G11N
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open

Reply via email to