Report 0503 Actions
Problem Report Number |
0503 |
Submitter's Classification |
Specification problem |
State |
Resolved |
Resolution |
Rejected (REJ) |
Problem Resolution ID |
REJ.X.0122 |
Raised |
1995-09-01 08:00 |
Updated |
2003-03-13 08:00 |
Published |
null |
Product Standard |
Internationalised System Calls and Libraries (XPG4) |
Certification Program |
The Open Brand certification program |
Test Suite |
VSX4 version 4.3.5 |
Test Identification |
XPG4.os/wstring/wcstok NA |
Problem Summary |
PG4R.123 The build of the wcstok() failed because of a type mismatch. The X/OPEN CAE Specification, System Interfaces and Headers Issue 4 defines wcstok() as follows: wchar_t *wsctok(wchar_t *ws1, const wchar_... |
Problem Text |
The build of the wcstok() failed because of a type mismatch. The X/OPEN CAE Specification, System Interfaces and Headers Issue 4 defines wcstok() as follows: wchar_t *wsctok(wchar_t *ws1, const wchar_t *ws2);
The ISO/IEC 9899:1990/Amendment 1:1994 draft - Multibyte Support Extensions(MSE) as documented in the ISO Working Paper SC22/WG14/N325 defines wcstok() as follows: wchar_t *wsctok(wchar_t *s1, const wchar_t *s2, wchar_t **ptr);
This mismatch in function defination was the cause of the wsctok build failure. Of course, with wsctok not built, no wsctok tests were run.
Our implementation conforms to MSE as documented in the ISO Working Paper SC22/WG14/N325. Since this area of the specification is subject to change, we request a permanent interpretation allowing the behaviour described in MSE as documented in the ISO Working Paper SC22/WG14/N325.
|
Test Output |
Follows is the journal output from the build phase: Test-Set Name: /tset/XPG4.os/wstring/wcstok/T.wcstok ---------------------------------------------------- Test-Set Results: ---------------- Test-Set Started: 19:55:08 Make Results: ************************************************************************ /tset/XPG4.os/wstring/wcstok/T.wcstok Failed Make Information: /bin/c89 -I../../../../../inc/posix_c -I/tmp/usr/TET/vsx4/SRC/INC -I/tmp/usr/TET/vsx4/SRC/SYSINC -D_XOPEN_SOURCE -DUNDEFINEwcstok -U_OPEN_DEFAULT -c wcstok.c CBC1460(W) Negative form of option "USERLIB" is not allowed. CBC1460(W) Negative form of option "SYSLIB" is not allowed. CBC1049(W) The option "EVENTS" is not supported. WARNING CBC3310 /tmp/usr/TET/vsx4/SRC/SYSINC/wchar.h:204 The type "struct tm" was introduced in a parameter list, and will go out of scope at the end of the function declaration or definition. ERROR CBC3098 ./wcstok.c:338 Missing argument(s). ERROR CBC3098 ./wcstok.c:349 Missing argument(s). ERROR CBC3098 ./wcstok.c:361 Missing argument(s). ERROR CBC3098 ./wcstok.c:396 Missing argument(s). ERROR CBC3098 ./wcstok.c:407 Missing argument(s). ERROR CBC3098 ./wcstok.c:418 Missing argument(s). ERROR CBC3098 ./wcstok.c:466 Missing argument(s). ERROR CBC3098 ./wcstok.c:471 Missing argument(s). ERROR CBC3098 ./wcstok.c:476 Missing argument(s). ERROR CBC3098 ./wcstok.c:488 Missing argument(s). ERROR CBC3098 ./wcstok.c:493 Missing argument(s). ERROR CBC3098 ./wcstok.c:498 Missing argument(s). ERROR CBC3098 ./wcstok.c:511 Missing argument(s). ERROR CBC3098 ./wcstok.c:516 Missing argument(s). ERROR CBC3098 ./wcstok.c:521 Missing argument(s). ERROR CBC3098 ./wcstok.c:557 Missing argument(s). ERROR CBC3098 ./wcstok.c:562 Missing argument(s). ERROR CBC3098 ./wcstok.c:568 Missing argument(s). ERROR CBC3098 ./wcstok.c:579 Missing argument(s). ERROR CBC3098 ./wcstok.c:584 Missing argument(s). ERROR CBC3098 ./wcstok.c:595 Missing argument(s). ERROR CBC3098 ./wcstok.c:600 Missing argument(s). ERROR CBC3098 ./wcstok.c:606 Missing argument(s). ERROR CBC3098 ./wcstok.c:650 Missing argument(s). ERROR CBC3098 ./wcstok.c:655 Missing argument(s). ERROR CBC3098 ./wcstok.c:686 Missing argument(s). ERROR CBC3098 ./wcstok.c:691 Missing argument(s). ERROR CBC3098 ./wcstok.c:735 Missing argument(s). ERROR CBC3098 ./wcstok.c:741 Missing argument(s). ERROR CBC3098 ./wcstok.c:747 Missing argument(s). ERROR CBC3098 ./wcstok.c:786 Missing argument(s). ERROR CBC3098 ./wcstok.c:791 Missing argument(s). ERROR CBC3098 ./wcstok.c:797 Missing argument(s). FSUM3065 The COMPILE step ended with return code 12. FSUM3017 Could not compile wcstok.c. Correct the errors and try again. FSUM8226 make: Error code 3 ************************************************************************ Test-Set Ended: 19:55:19 Test-Set Results Summary: ------------------------ 1 Makes Executed 1 Makes Failed Follows is the journal output from the execution phase: .Test-Set Started: 12:06:33 *** TCC Message: Message from source file scenario.c line 597: Can't change to test case dir: /tmp/usr/TET/vsx4/TESTROOT//tset/XPG4.os/wstring/Mwcstok ***
.Test-Set Ended: 12:06:35
|
Review Information
Review Type |
TSMA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Recommendation |
No Resolution Given |
Review Response |
There is a significant issue regarding the change of the function prototype for the wcstok() function between the XPG4 definition and the MSE definition. Since these two prototypes are incompatible there will be a need for implementations to make appropriate use of feature test macros to ensure that applications which use the wcstok() function as defined in either of these documents will compile.
It is recommended that this issue is forwarded to the K/RT working group for consideration as to the manner in which the MSE extensions should be added to an XPG4 conforming system.
This request should be considered in conjuction with request req.4.2.498.
It is recommended that this waiver request is refused on the basis that the correct prototype for this routine should be visible in the XPG4 environment.
|
Review Type |
Expert Group Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
No Resolution Given |
Review Conclusion |
Our sepcification is incompatible with the MSE, and therefore there is a clear impact on portability. We know that we will align with the MSE in the next release, so we know that we are going to make the change to the definition that the requestor is currently using. However, the current version of the spec "says what it says", so strict conformance would indicate that we should reject this request.
|
Review Type |
SA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
Rejected (REJ) |
Review Conclusion |
This request is refused.
|
Problem Reporting System Options:
|