|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1921 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 1921.
Report 1921 Actions
Problem Report Number 1921 Submitter's Classification Specification problem State Resolved Resolution Temporary Interpretation (TIN) Problem Resolution ID TIN.X.0087 Raised 2001-10-16 08:00 Updated 2003-03-13 08:00 Published 2001-10-16 08:00 Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98) Certification Program The Open Brand certification program Test Suite VSX4 version 4.4.5 Test Identification XPG4.os/genuts/regcomp 32, 34, 36, 38 Specification System Interfaces and Headers Issue 5 Location in Spec See Problem Text Linked Problem Reports PIN4.042, (in, old, system) Problem Summary TIN5.006 The XPG4 XSI doesn't support the expected results for these testcases. The return values REG_EBRACE and REG_BADBR are valid only for BREs, the spec doesn't define any corresponding return values for... Problem Text
The XPG4 XSI doesn't support the expected results for these testcases.
The return values REG_EBRACE and REG_BADBR are valid only for BREs,
the spec doesn't define any corresponding return values for EREs.
Additionally, on page 101 of the XBD spec, the following is found:
*+?{ The asterisk, plus-sign, question-mark and left brace are special
except when used in a bracket expression (see section 7.3.5 on page
97). Any of the following uses produce undefined results:
- if these characters appear first in an ERE, or immediately
following a vertical-line, circumflex, or left-parenthesis
- if a left brace is not part of a valid interval expression.
Thus, it is up to the implementation to decide how handle the patterns
used in these testcases. Our implementation treats invalid interval
expressions as ordinary characters, and thus the return code of 0.Test Output
************************************************************************
/tset/XPG4.os/genuts/regcomp/T.regcomp 32 Failed
Test Description:
If regcomp() is supported:
When the REG_EXTENDED flag is set in cflags, and pattern contains
an expression of the form "{m,n}", "{m,}" or "{m}", in which
either m or n is not a number, then a call to regcomp(preg,
pattern, cflags) returns either REG_BADBR or REG_BADPAT.
Otherwise:
A call to regcomp() returns REG_ENOSYS and sets errno to ENOSYS.
Test Strategy:
CREATE pattern with 890magIFd{0,j} , 890magIFD{k,3} , 890magIFD{k,} ,
890magIFD{k}
CALL regcomp() with pattern and cflags set to REG_EXTENDED
VERIFY that regcomp() returned either REG_BADBR or REG_BADPAT
Test Information:
regcomp(preg, "890magIFd{0,%}", REG_EXTENDED) returned 0 (No Error)
expected 10 (REG_BADBR) or 2 (REG_BADPAT)
regcomp(preg, "890magIFd{%,3}", REG_EXTENDED) returned 0 (No Error)
expected 10 (REG_BADBR) or 2 (REG_BADPAT)
regcomp(preg, "890magIFd{%,}", REG_EXTENDED) returned 0 (No Error)
expected 10 (REG_BADBR) or 2 (REG_BADPAT)
regcomp(preg, "890magIFd{!}", REG_EXTENDED) returned 0 (No Error)
expected 10 (REG_BADBR) or 2 (REG_BADPAT)
************************************************************************
************************************************************************
/tset/XPG4.os/genuts/regcomp/T.regcomp 34 Failed
Test Description:
If regcomp() is supported:
When the REG_EXTENDED flag is set in cflags, and pattern contains
an expression of the form "{m,n}", "{m,}" or "{m}", in which
either m or n is greater than {RE_DUP_MAX}, then a call to
regcomp(preg, pattern, cflags) returns either REG_BADBR or
REG_BADPAT.
Otherwise:
A call to regcomp() returns REG_ENOSYS and sets errno to ENOSYS.
Test Strategy:
CREATE pattern with {0,RE_DUP_MAX+1}, {RE_DUP_MAX+1,n},
{RE_DUP_MAX+1,}, {RE_DUP_MAX+1}
CALL regcomp() with pattern and cflags set to REG_EXTENDED
VERIFY that regcomp() returned either REG_BADBR or REG_BADPAT
Test Information:
regcomp(preg, "890magIFd{0,256}", REG_EXTENDED) returned 0 (No Error)
expected 10 (REG_BADBR) or 2 (REG_BADPAT)
regcomp(preg, "890magIFd{256,3}", REG_EXTENDED) returned 0 (No Error)
expected 10 (REG_BADBR) or 2 (REG_BADPAT)
regcomp(preg, "890magIFd{256,}", REG_EXTENDED) returned 0 (No Error)
expected 10 (REG_BADBR) or 2 (REG_BADPAT)
regcomp(preg, "890magIFd{256}", REG_EXTENDED) returned 0 (No Error)
expected 10 (REG_BADBR) or 2 (REG_BADPAT)
************************************************************************
************************************************************************
/tset/XPG4.os/genuts/regcomp/T.regcomp 36 Failed
Test Description:
If regcomp() is supported:
When the REG_EXTENDED flag is set in cflags, and pattern contains
a {} expression with more than two numbers, then a call to
regcomp(preg, pattern, cflags) returns either REG_BADBR or
REG_BADPAT.
Otherwise:
A call to regcomp() returns REG_ENOSYS and sets errno to ENOSYS.
Test Strategy:
CREATE pattern with {4,5,7}
CALL regcomp() with pattern and cflags set to REG_EXTENDED
VERIFY that regcomp() returned either REG_BADBR or REG_BADPAT
Test Information:
regcomp(preg, "xy{4,5,7}zabc", REG_EXTENDED) returned 0 (No Error)
expected 10 (REG_BADBR) or 2 (REG_BADPAT)
************************************************************************
************************************************************************
/tset/XPG4.os/genuts/regcomp/T.regcomp 38 Failed
Test Description:
If regcomp() is supported:
When the REG_EXTENDED flag is set in cflags, and pattern contains
an expression of the form "{m,n}", in which m is greater than n,
then a call to regcomp(preg, pattern, cflags) returns either
REG_BADBR or REG_BADPAT.
Otherwise:
A call to regcomp() returns REG_ENOSYS and sets errno to ENOSYS.
Test Strategy:
CREATE pattern with {3,1}
CALL regcomp() with pattern and cflags set to REG_EXTENDED
VERIFY that regcomp() returned either REG_BADBR or REG_BADPAT
Test Information:
regcomp(preg, "def{3,1}cba", REG_EXTENDED) returned 0 (No Error)
expected 10 (REG_BADBR) or 2 (REG_BADPAT)
************************************************************************Review Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
The XSH4 grey area identified in PIN4.042 still exists in XSH5.
However, since regcomp() is a POSIX.2 function, it is recommended
that a Temporary Interpretation is granted for XSH5 and a POSIX.2
interpretation request is submitted.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Temporary Interpretation (TIN) Review Conclusion
A Temporary Interpretation is granted.
Problem Reporting System Options:
- View Report 1921
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority