|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1203 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 1203.
Report 1203 Actions
Problem Report Number 1203 Submitter's Classification Specification problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0405 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published null Product Standard Internationalised System Calls and Libraries Extended (UNIX 95) Certification Program The Open Brand certification program Test Suite VSU version 4.1.0 Test Identification headers/ndbm.h 3 Problem Summary PG4U.00062 This IR claims that it is invalid to declare a variable of type DBM that is not a pointer to a DBM type. Problem Text
This IR claims that it is invalid to declare a variable of type DBM
that is not a pointer to a DBM type.
The X/OPEN standard (Issue 4, Version 2, Sept. 1994) shows under <ndbm.h>
the DBM type is defined through typedef. None of the fields in the DBM
structure are accessible to the users application, and all of the function
prototypes are giving/expecting a DBM *. In our implementation, due to
multi-threading considerations, we've moved the contents of the DBM
structure to an internal dataarea, __dbm, which is what DBM typedef's to.
Thus, the only permissible application definition of DBM is as:
struct DBM * mydbm;
I believe, given the wording described in the <ndbm.h> section, that the
X/OPEN VSU test that declares DBM mydbm; (and then doesn't use it) is
in error. I believe that this is the only program that uses this
construct.
We sent the above rationale to vsu_support, last year. Below was their
reply:
-----------------------------------------------------------------------
We believe the test properly corresponds to the requirements of the spec
for the DBM type.
What you suggest is not unreasonable - we are aware of no use for this
type other than to get pointers to things from dbm_open and pass
them to other dbm functions. However a spec change would be required
to remove the test. The procedures for making such an interpretation
request against the spec are described in Chapter 8 of the User's Guide.
We would be inclined to approve such a request if you choose to file one
Note BTW that the test does not manipulate the myDBM object since as an
opaque type there is nothing meaningful that can be done. However by
defining the object the test is ensuring the type can be used by applica
in the manner the spec currently requires as compilation failures will
result otherwise.
-----------------------------------------------------------------------
We believe this is a grey area in the Specification and we are
requesting a permanent interpretation.Test Output
None provided.Review Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
We recommend this request be refused.
We believe the test is correct.
The spec is clear that the DBM type be defined via typedef.
We maintain that any type defined via typedef should work
whether mydbm is defined via the statement
DBM mydbm;
or
DBM *mydbm;
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:
- View Report 1203
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority