From owner-svn-src-all@FreeBSD.ORG Sat May 25 14:00:46 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 031976BC; Sat, 25 May 2013 14:00:46 +0000 (UTC) (envelope-from edschouten@gmail.com) Received: from mail-vb0-x232.google.com (mail-vb0-x232.google.com [IPv6:2607:f8b0:400c:c02::232]) by mx1.freebsd.org (Postfix) with ESMTP id 84D9D253; Sat, 25 May 2013 14:00:45 +0000 (UTC) Received: by mail-vb0-f50.google.com with SMTP id w16so3745984vbb.37 for ; Sat, 25 May 2013 07:00:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=QMYV0tEPvAK5tHDOfGYTrWPw3QuQy1Nut9oyZkRPMao=; b=XTsKewLAFJ5IiahbMjMS5uxrWfpuD7IUTP7O9mSITOSMIg2Pjp7Lt4Ejdz6HBN2FB7 DN+GtGRHbiWZ618vdD9vYUWtFzAnm4BQWDgER79BRuYXWDYhYsoMJI/7S5alUf9LMb34 9e6inmbXgp0LCRCgDOAVloapTvhG4dDhQl6EcSJXw41afIujSZrkRX5KkhNSkVsdwseI nCJze9QoztZjbUD3h/bpSx8NtdWB2sUucFT9S3DoEtYjBHNUxjVoQUP4Ia5sRIhZTGT6 q/3dtuk35OE2qE5mg8sgNDWvPmzdo4UpSUuf3TdaqXCZ8GQsWArBXHT4vi2W7O5cQd9y YnaQ== MIME-Version: 1.0 X-Received: by 10.52.68.11 with SMTP id r11mr5043405vdt.93.1369490444715; Sat, 25 May 2013 07:00:44 -0700 (PDT) Sender: edschouten@gmail.com Received: by 10.220.72.7 with HTTP; Sat, 25 May 2013 07:00:44 -0700 (PDT) In-Reply-To: References: <201305211959.r4LJxbLx034714@svn.freebsd.org> <20130521220003.GB58299@stack.nl> Date: Sat, 25 May 2013 16:00:44 +0200 X-Google-Sender-Auth: Wyc2JXeo_Bd4L5UXbUjeQH7vEC0 Message-ID: Subject: Re: svn commit: r250883 - in head: include include/xlocale lib/libc/locale sys/sys tools/regression/lib/libc/locale From: Ed Schouten To: Jilles Tjoelker , gabor@freebsd.org Content-Type: text/plain; charset=UTF-8 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 May 2013 14:00:46 -0000 Hello all, [ +gabor ] 2013/5/22 Ed Schouten : > Oh, the horror! I thought on FreeBSD, we used the LC_CTYPE files to do > a mapping to ISO 10646. Unfortunately, it seems to be the case that > these files are only used to do mappings to > uppercase/lowercase/runetype. Bummer. So I think the solution to this problem is twofold. First, let's look at the case where people have built world with WITH_ICONV=. Instead of implementing the *c32* functions on top of the *wc* variants, we can simply use libiconv. The following patch adds two new variants of the *c32* functions, implemented on top of libiconv. At first I tried implementing these functions on top of iconv_open_into(), but unfortunately it seems to be the case that the iconv_allocation_t is larger than the mbstate_t, meaning we cannot safely embed one into the other. To work around this, I'm using the internal _citrus_* API. http://80386.nl/pub/uchar-iconv.txt Jilles, Gabor, could you please take a look at the patch, whether it's any good? Now we still have the case where the system is built WITHOUT_ICONV=. I think it really depends on the future of iconv in base how complete we should attempt to make it. Gabor, is there a chance WITH_ICONV= will become the default in FreeBSD 10? -- Ed Schouten