The description of time_get<>::do_get_weekday() and
time_get<>::do_get_monthname() states (22.2.5.1.2): 

Effects: Reads characters starting at s until it has extracted the (perhaps
abbreviated) name of a weekday or month. If it finds an abbreviation that is
followed by characters that could match a full name, it continues reading until
it matches the full name or fails. 

However, if the abbreviated name of a weekday is not a prefix of its full name,
the full name is not recognized by the function. 

For example, the Russian name of Monday (Ponedelnik) is not recognized as
Monday (locale - ru_RU.iso88595) because of this. But if one replaces the 1st 3
symbols of this word with the abbreviated Russian name of Monday (Pnd), the
resulting string (Pndedelnik) is recognized as the full name of Monday, which
is wrong. 

According to the source of time_get<>::do_get_weekday function's implementation
as well as the comments in it, it is definitely assumed in the function that
the abbreviated name of a weekday should be a prefix of its full name. 

A similar problem takes place for time_get<>::do_get_monthname() function.


-- 
           Summary: time_get<>::do_get_weekday does not always recognize
                    full names of weekdays
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tsyvarev at ispras dot ru


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38081

Reply via email to