From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8781 invoked by alias); 22 Apr 2007 00:06:38 -0000 Received: (qmail 8748 invoked by uid 48); 22 Apr 2007 00:06:27 -0000 Date: Sun, 22 Apr 2007 00:06:00 -0000 Message-ID: <20070422000627.8747.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug libstdc++/31643] [DR 382] Codecvt facets with UTF-8 encoding fail to recognize partial encoding sequences In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "pcarlini at suse dot de" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2007-04/txt/msg01581.txt.bz2 ------- Comment #7 from pcarlini at suse dot de 2007-04-22 01:06 ------- (In reply to comment #6) > I ran additional tests just to make sure that the shift state was valid across > calls, even though partial is not returned when a chunk ends in a partial > encoding sequence. I split several 2,3, and 4 byte UTF character sequences > across two calls to the codecvt in() method. Each time, the sequence was > correctly widened into 1 UTF-32 character code. Thus, the shift state appears > to be OK. Just the return value of 'ok' is incorrect. Indeed, that's the point. And this is DR 382, mentioned by Petur in various places in the implementation. http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#382 We will revisit the issue when 382 gets a complete resolution. -- pcarlini at suse dot de changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|major |normal Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2007-04-22 01:06:27 date| | Summary|Codecvt facets with UTF-8 |[DR 382] Codecvt facets with |encoding fail to recognize |UTF-8 encoding fail to |partial encoding sequences |recognize partial encoding | |sequences http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31643