incubator-stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: [jira] Created: (STDCXX-535) std::num_put can generate output that is not parseable by std::num_get facet
Date Fri, 24 Aug 2007 23:54:14 GMT
Umm, I'm sure you meant time_put and time_get everywhere...

Martin

Travis Vitek (JIRA) wrote:
> std::num_put can generate output that is not parseable by std::num_get facet
> ----------------------------------------------------------------------------
> 
>                  Key: STDCXX-535
>                  URL: https://issues.apache.org/jira/browse/STDCXX-535
>              Project: C++ Standard Library
>           Issue Type: Bug
>           Components: 22. Localization
>     Affects Versions: 4.1.4, 4.1.3, 4.1.2
>             Reporter: Travis Vitek
> 
> 
> std::num_get<>::get_date() is required to be able to parse the output produced
by std::num_put<>::put(..., 'x'). For some locales, the '%x' format specifier expands
out to '%e.%m.%Y'. When a date is formatted using this, there will be a leading space, and
that leading space causes the num_get<>::get_date() operation to fail.
> 
> The root of the problem is that the POSIX strftime() function requires that the '%e'
specifier generate whitespace for single digit monthdays, and the POSIX strptime() function
says that the number may be padded on the left with 0s. It does not appear to specify that
whitespace is allowed. The strptime() implementation on some platforms [sun, linux, compaq,
aix] allow this whitespace, while others [hp, freebsd] do not.
> 
> Discussion here.
> [http://mail-archives.apache.org/mod_mbox/incubator-stdcxx-dev/200708.mbox/%3c46CC8D6C.9000007@roguewave.com%3e]
> 


Mime
View raw message