Interpretations

Answering questions that may arise related to the meaning of portions of an IEEE standard concerning specific applications.

IEEE Standards Interpretations for IEEE Std 1003.2™-1992 IEEE Standard for Information Technology--Portable Operating System Interfaces (POSIX®)--Part 2: Shell and Utilities

Copyright © 1996 by the Institute of Electrical and Electronics Engineers, Inc. 3 Park Avenue New York, New York 10016-5997 USA All Rights Reserved.

Interpretations are issued to explain and clarify the intent of a standard and do not constitute an alteration to the original standard. In addition, interpretations are not intended to supply consulting information. Permission is hereby granted to download and print one copy of this document. Individuals seeking permission to reproduce and/or distribute this document in its entirety or portions of this document must contact the IEEE Standards Department for the appropriate license. Use of the information contained in this document is at your own risk.

IEEE Standards Department, Copyrights and Permissions, 445 Hoes Lane, Piscataway, New Jersey 08855-1331, USA

Interpretation Request #138
Topic: regex Relevant Sections: Annex B, Section B.5

Concerning the wording in 1003.2- 1992 Annex B section B.5 C Binding for RE matching, Table B-10 - regcomp(), regexec() Return Values (line 424) says: REG_BADRPT ?, *, or + not preceded by valid RE Was is it intentional to omit '{' from this error message? The Error Code, meaning "bad repeater" implies that it is to used as a Error Code and Description when a repeater is not preceded by a valid regular expression. "{m,n}" is a repeat construct that can be preceded by an invalid RE. While REG_BADPAT is an Error Code that will cover this situation it is vague and not as useful as the return of REG_BADRPT. Currently the description of REG_BADRPT is confusing to users who read it when the error to be indicated is applicable to an interval expression repeater (particularly if the RE does contain other types of repeaters). A proposed solution is that line 424 be changed to read: REG_BADRPT ?, *, +, or { not preceded by valid RE

Interpretation Response
The standard clearly states the requirements for return values for regcomp(), regexec() and conforming implementations must conform to this. However concerns have been raised about this which are being referred to the sponsor. We are concerned not only about { in EREs but \{ in BREs.

Rationale for Interpretation
None.