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