Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Feb 2010 00:02:09 +0000 (UTC)
From:      Martin Cracauer <cracauer@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/lib/libc/stdlib strfmon.c
Message-ID:  <201002100002.o1A02bNW008893@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
cracauer    2010-02-10 00:02:09 UTC

  FreeBSD src repository

  Modified files:
    lib/libc/stdlib      strfmon.c 
  Log:
  SVN rev 203734 on 2010-02-10 00:02:09Z by cracauer
  
  Fix PR
  http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/143350
  Empty string test gone wrong.
  
  Testing this requires that you have a locale that has the sign string
  unset but has int_n_sign_posn set (the default locale falls through to
  use "()" around negative numbers which is probably another bug).
  
  I created that setup by hand and indeed without this fix negative
  numbers are put out as positive numbers (doesn't fall through to use
  "-" as default indicator).
  
  Unfixed example in nl_NL.ISO8859-1 with lc->negative_sign set to empty
  string:
    strfmon(buf, sizeof(buf), "%-8i", -42.0);
  ==>
  example2: 'EUR  42,00' 'Eu 42,00'
  
  Fixed:
  example2: 'EUR  42,00-' 'Eu 42,00-'
  
  This file and suggested fix are identical in at least freebsd-8.
  Backport might be appropriate but some expert on locales should
  probably have a look at us defaulting to negative numbers in
  parenthesis when LC_* is default.  That doesn't look right and is not
  what other OSes are doing.
  
  PR:             143350
  Submitted by:   Corinna Vinschen
  Reviewed by:    bug reporter submitted, tested by me
  
  Revision  Changes    Path
  1.20      +2 -2      src/lib/libc/stdlib/strfmon.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201002100002.o1A02bNW008893>