Report 0337 Actions
Problem Report Number |
0337 |
Submitter's Classification |
Test Suite problem |
State |
Resolved |
Resolution |
Permanent Interpretation (PIN) |
Problem Resolution ID |
PIN.X.0053 |
Raised |
1995-09-29 08:00 |
Updated |
2003-03-13 08:00 |
Published |
1995-11-02 08:00 |
Product Standard |
Internationalised System Calls and Libraries (XPG4) |
Certification Program |
The Open Brand certification program |
Test Suite |
VSX4 version 4.3.5 |
Test Identification |
ANSI.os/charhandle/isalnum_X 1 |
Specification |
System Interfaces and Headers Issue 4 |
Location in Spec |
See Problem Text |
Problem Summary |
PIN4.053 >From XSH4 version 2, p. 523: Upon successful completion,
setlocale() returns the string associated with the specified category
for the new locale. Otherwise, setlocale() returns a null pointer and th... |
Problem Text |
>From XSH4 version 2, p. 523:
Upon successful completion, setlocale() returns the string associated
with the specified category for the new locale. Otherwise, setlocale()
returns a null pointer and the program's locale is not changed.
and earlier on the same page:
The value LC_ALL for category names the program's entire locale; other
values for category name only part of the program's locale.
The standard does not specify the return value for cases where
setlocale(LC_ALL, LOCALE) successfully sets some categories but not
others. In these cases, we consider the operation unsuccessful, return
a null pointer, and leave the locale unchanged.
In the instances above, setlocale(LC_ALL,"VSX4L0") failed, where VSX4L0 is
a pseudolanguage having only an LC_CTYPE category. The test suite expects
the new LC_TYPE to be selected and the other categories unspecified. This
behavior is undefined and the test suite in is error.
|
Test Output |
Test Results:
/tset/ANSI.os/charhandle/Misalnum_X/T.isalnum_X 1 Unresolved
Test Description:
In a locale where character type information is not defined
isalnum()
classifies characters as they would be in the 'C' locale.
Test Information:
Pseudo Language VSX4L0 is not available
Check instalation of pseudo language
The following tests also fail in the same manner:
ANSI.os/charhandle/Misalpha_X/T.isalpha_X 1 Unresolved
ANSI.os/charhandle/Miscntrl_X/T.iscntrl_X 1 Unresolved
ANSI.os/charhandle/Misgraph_X/T.isgraph_X 1 Unresolved
ANSI.os/charhandle/Mislower_X/T.islower_X 1 Unresolved
ANSI.os/charhandle/Misprint_X/T.isprint_X 1 Unresolved
ANSI.os/charhandle/Mispunct_X/T.ispunct_X 1 Unresolved
ANSI.os/charhandle/Misspace_X/T.isspace_X 1 Unresolved
ANSI.os/charhandle/Misupper_X/T.isupper_X 1 Unresolved
ANSI.os/charhandle/isalnum_X/T.isalnum_X 1 Unresolved
ANSI.os/charhandle/isalpha_X/T.isalpha_X 1 Unresolved
ANSI.os/charhandle/iscntrl_X/T.iscntrl_X 1 Unresolved
ANSI.os/charhandle/isgraph_X/T.isgraph_X 1 Unresolved
ANSI.os/charhandle/islower_X/T.islower_X 1 Unresolved
ANSI.os/charhandle/isprint_X/T.isprint_X 1 Unresolved
ANSI.os/charhandle/ispunct_X/T.ispunct_X 1 Unresolved
ANSI.os/charhandle/isspace_X/T.isspace_X 1 Unresolved
ANSI.os/charhandle/isupper_X/T.isupper_X 1 Unresolved
ANSI.os/charhandle/tolower_X/T.tolower_X 1 Unresolved
ANSI.os/charhandle/toupper_X/T.toupper_X 1 Unresolved
ANSI.os/streamio/printf/T.fprintf 58 Unresolved
ANSI.os/streamio/printf/T.printf 58 Unresolved
ANSI.os/streamio/printf/T.sprintf 58 Unresolved
ANSI.os/streamio/scanf/T.fscanf 48 Unresolved
ANSI.os/streamio/scanf/T.scanf 48 Unresolved
ANSI.os/streamio/scanf/T.sscanf 48 Unresolved
ANSI.os/streamio/vprintf/T.vfprintf 58 Unresolved
ANSI.os/streamio/vprintf/T.vprintf 58 Unresolved
ANSI.os/streamio/vprintf/T.vsprintf 58 Unresolved
XOPEN.os/locale/nl_langinf/T.nl_langinf 3 Unresolved
XPG4.os/locale/localeconv/T.localeconv 2 Unresolved
XPG4.os/locale/localeconv/T.localeconv 3 Unresolved
|
Review Information
Review Type |
TSMA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Recommendation |
No Resolution Given |
Review Response |
The problem that is described in this request relates to a mixture of a grey
area in the XSH specification and the manner in which the test suite is set
up to for the pseudo languages.
The XSH specification does not define the manner in which the
setlocale() call
will deal with a locale category that is not specified for a particular
locale.
It seems that there are currently two styles of implementation provided by
XPG tested system. It is necessary for systems to deal with this situation
because the XBD and XCU clearly state that the localedef command needs to
cater for the valid case that a non-empty subset of the categories are given
in the input file. There is also an issue with the nl_lamginfo() interface
which specifies that, in the case that an unsupported category is specified
on a call to setlocale(), the information relating to the POSIX locale
should
be provided. However, this does not place a requirement on setlocale() to
allow setting of an "empty" locale category.
If the above is accepted, then it would be best to set up the VSX4L0 locale
such that all of the categories are present and, except for those categories
already defined in the user instructions, with the values omitted if this
is possible or otherwise set to the POSIX locale equivalents. This should
cause all the tests to pass, though the test nl_langinfo 3 will effectively
produce a "false pass" because of the way in which the locale is set.
I recommend that a Permanent Interpretation is granted and that the K/RT
working group is asked to confirm that the behaviour of setlocale() with
respect to a locale category that is "empty" for a given locale is
unspecified.
The user should then be instructed to set the VSX4L0 locale information as
suggested in the previous paragraph.
|
Review Type |
Expert Group Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
No Resolution Given |
Review Conclusion |
There was no disagreement. A permanent interpretation should be granted
on the grounds that the behaviour is undefined.
|
Review Type |
SA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
Permanent Interpretation (PIN) |
Review Conclusion |
A Permanent Interpretation is granted.
|
Problem Reporting System Options:
|