C Language Mapping Avatar
  1. OMG Specification

C Language Mapping — Closed Issues

  • Acronym: C
  • Issues Count: 29
  • Description: Issues resolved by a task force and approved by Board
Closed All
Issues resolved by a task force and approved by Board

Issues Summary

Key Issue Reported Fixed Disposition Status
C11-82 How to allocate storage for a basic type you wish to place in an any? C 1.0b1 C 1.1 Resolved closed
C11-81 Use of "objref_ptr" C 1.0b1 C 1.1 Resolved closed
C11-83 Correct arguments to send multiple requests C 1.0b1 C 1.1 Resolved closed
C11-73 Out of bound value behaviour for _maximum and _length in sequences C 1.0b1 C 1.1 Resolved closed
C11-72 Type declaration C 1.0b1 C 1.1 Resolved closed
C11-76 Order of parameters in the C mapping C 1.0b1 C 1.1 Resolved closed
C11-75 Editorial C 1.0b1 C 1.1 Resolved closed
C11-80 CORBA_string_alloc C 1.0b1 C 1.1 Resolved closed
C11-79 Argument order inconsistent (Section 14.25.2) C 1.0b1 C 1.1 Resolved closed
C11-74 Portably getting the value of the bounds of a sequence C 1.0b1 C 1.1 Resolved closed
C11-78 Reference to undefined term DIR (Section 14.24.1) C 1.0b1 C 1.1 Resolved closed
C11-71 Order of arguments in C Language mapped operation C 1.0b1 C 1.1 Resolved closed
C11-77 Wrong order of parameters C 1.0b1 C 1.1 Resolved closed
C11-64 Semantics of CORBA_exception_id()"s return type C 1.0b1 C 1.1 Resolved closed
C11-63 Suggested optimization for string duplication C 1.0b1 C 1.1 Resolved closed
C11-59 Unions represented with either union or struct C 1.0b1 C 1.1 Resolved closed
C11-58 All interfaces must be defined at global scope? C 1.0b1 C 1.1 Resolved closed
C11-70 Confusion about ORB handling call to pseudo objects via DII C 1.0b1 C 1.1 Resolved closed
C11-69 Entire section 14.1 should not be there (CORBA 14) C 1.0b1 C 1.1 Resolved closed
C11-67 CORBA_BOA_set_exception() parameter issues C 1.0b1 C 1.1 Resolved closed
C11-66 Specification type on CORBA_ORB_object_to_string example C 1.0b1 C 1.1 Resolved closed
C11-60 Sequence release flag implementation C 1.0b1 C 1.1 Resolved closed
C11-68 Support for efficient DII invocation (Section 17.7.1 CORBA 2.)) C 1.0b1 C 1.1 Resolved closed
C11-65 Contents of string literal exception identifier C 1.0b1 C 1.1 Resolved closed
C11-62 Malloc problems with sequence types C 1.0b1 C 1.1 Resolved closed
C11-61 Confusing sequence example C 1.0b1 C 1.1 Resolved closed
C11-56 C keywords C 1.0b1 C 1.1 Resolved closed
C11-57 Problems with underscores C 1.0b1 C 1.1 Resolved closed
C11-84 Content of an Any is a pointer to the type -- Issue C 1.0b1 C 1.1 Resolved closed

Issues Descriptions

How to allocate storage for a basic type you wish to place in an any?

  • Key: C11-82
  • Legacy Issue Number: 2533
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Under the C mapping how do you allocate storage for a basic type
    you wish to place in an any.

    Consider inserting a long into an Any.

    Do you do this: solution 1

    any->_type = TC_long;
    any->_value = CORBA_alloc(sizeof(CORBA_long));

    or this: solution 2

    any->_type = TC_long;
    any->value = CORBA_long_alloc();

    One vendor argues that the text below supports solution 2. However
    as a long is not a constructed type solution 1 seems more natural.

    >From "17.8 Mapping Considerations for Constructed Types" of CORBA 2.1
    specification:

    "For types whose parameter passing modes require heap allocation,
    an ORB implementation will provide allocation functions. These types
    include variable-length struct, variable-length union, sequence, any,
    string, wstring and array of a variable-length type. The return value
    of these allocation functions must be freed using CORBA_free(). For
    one of these listed types T, the ORB implementation will provide
    the following type-specific allocation function:

    T *T__alloc(); /* C */"

  • Reported: C 1.0b1 — Fri, 12 Mar 1999 05:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    urgent resolution, issue resolved

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Use of "objref_ptr"

  • Key: C11-81
  • Legacy Issue Number: 332
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Nothing defines what an "objref_ptr" is. This was presumably pasted in from C++ mapping which has a T_ptr concept. Stop using this term in the C mapping or define it

  • Reported: C 1.0b1 — Thu, 31 Oct 1996 05:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    Fixed in CORBA 2.2 editing process

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Correct arguments to send multiple requests

  • Key: C11-83
  • Legacy Issue Number: 2534
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Additional Commentary:

    In tset/c/hdr/DII/ORB/send_multiple_requests.c,
    VSOrb 1.1.0 test examines our orb on the assumption that
    send_multiple_requests() is defined like the following.

    CORBA_Status CORBA_send_multiple_requests(
    CORBA_ORB orb,
    CORBA_Request reqs[],
    CORBA_long count,
    CORBA_Flags invoke_flags,
    CORBA_Environment *env
    );

    But, according to section 4.3.2 of CORBA 2.1 specification,
    send_multiple_requests() is defined like the following.

    /* C */
    CORBA_Status CORBA_send_multiple_requests(
    CORBA_Request reqs[],
    CORBA_Environment *env,
    CORBA_long count,
    CORBA_Flags invoke_flags
    );

    Section C - Interpretation Responses

    The Open Group Initial Response:
    An interpretation from OMG is required to determine whether Section
    4.3.2 or Section 17.17 of CORBA 2.1 is definitive.

    Consultants Initial Response:
    We believe Section 4.3.2 is incorrect according to the general
    C mapping rules (as are many of the other examples). We are
    following rules defined in Section 17.17 which states that every
    function signature takes the object as the first parameter and an
    Environment object as the last parameter.

    Interpretations Subgroup Responses:

  • Reported: C 1.0b1 — Fri, 12 Mar 1999 05:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    urgent resolution....issue closed

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Out of bound value behaviour for _maximum and _length in sequences

  • Key: C11-73
  • Legacy Issue Number: 161
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Section 14.11. Para 6 indicates error to set _length or _maximum member larger than specified bound. Say "If the _length and _maximum members are set to a value larger than specified...."

  • Reported: C 1.0b1 — Thu, 10 Oct 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    replace sentence

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Type declaration

  • Key: C11-72
  • Legacy Issue Number: 160
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Section 14.5. ISO C permits declaration of anonymous structures when type is being defined. From a coding style perspective it"s better to require use of defined type names

  • Reported: C 1.0b1 — Thu, 10 Oct 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    close

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Order of parameters in the C mapping

  • Key: C11-76
  • Legacy Issue Number: 164
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Section 14.15: Bullet 2 indicates that last parameter to each operation is an output parameter..Inconsistent with lead sentence, CORBA 1.2, and not reflectedin rest of doc.

  • Reported: C 1.0b1 — Thu, 10 Oct 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    Fixed by Portability submission

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Editorial

  • Key: C11-75
  • Legacy Issue Number: 163
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Section 14.13: Para 6 Change "For an array T..." to "An array T..."

  • Reported: C 1.0b1 — Thu, 10 Oct 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    Fixed in CORBA 2.2 editing process

  • Updated: Fri, 6 Mar 2015 20:57 GMT

CORBA_string_alloc

  • Key: C11-80
  • Legacy Issue Number: 330
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Editorial issue: The definition on page 14-15 is given as char* CORBA_string_alloc(CORBA_unsigned_long_len); The return type should be "CORBA_char*".

  • Reported: C 1.0b1 — Thu, 31 Oct 1996 05:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    Fixed in CORBA 2.2 editing process

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Argument order inconsistent (Section 14.25.2)

  • Key: C11-79
  • Legacy Issue Number: 173
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: C signature for example4_op5 as well as CORBA_BOA_set_exception have the environment parameter in the wrong place

  • Reported: C 1.0b1 — Thu, 10 Oct 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    Fixed by Portability Submission

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Portably getting the value of the bounds of a sequence

  • Key: C11-74
  • Legacy Issue Number: 162
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Section 14.11: It"s not clear how a portable application could know value of bound of sequence. It"s specified in PIDL but is not represented in generated C header

  • Reported: C 1.0b1 — Thu, 10 Oct 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    add sentence

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Reference to undefined term DIR (Section 14.24.1)

  • Key: C11-78
  • Legacy Issue Number: 170
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Paragraph refers to "DIR". This term has not been recently defined in the specification.

  • Reported: C 1.0b1 — Thu, 10 Oct 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    Fixed in CORBA 2.2 editing process

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Order of arguments in C Language mapped operation

  • Key: C11-71
  • Legacy Issue Number: 159
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Order of arguments to C Language mapped operations seems to have changed from CORBA 1.2. Order must remain the same. Order must be used consistently throughout this specification .

  • Reported: C 1.0b1 — Thu, 10 Oct 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    Fixed by Portability submission

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Wrong order of parameters

  • Key: C11-77
  • Legacy Issue Number: 168
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Example CORBA_ORB_object_to_string function shows CORBA 1.2 function argument ordering. This is inconsistent with text in sect. 14.15. Spec must be internally consistent.

  • Reported: C 1.0b1 — Thu, 10 Oct 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    Fixed by Portability submission

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Semantics of CORBA_exception_id()"s return type

  • Key: C11-64
  • Legacy Issue Number: 112
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: CORBA_exception_id() returns a pointer to the character string indentifying the exception. It would be nice to explicitly say that this is the same string defined in 14.14.

  • Reported: C 1.0b1 — Wed, 11 Sep 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    Replace sentence to clarify

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Suggested optimization for string duplication

  • Key: C11-63
  • Legacy Issue Number: 110
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: It would be useful if CORBA_string_alloc() took an "optional" second argument which would be the string value to initialize the new string to, since ANSI C does not have strdup().

  • Reported: C 1.0b1 — Wed, 11 Sep 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    Close with no change

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Unions represented with either union or struct

  • Key: C11-59
  • Legacy Issue Number: 106
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: In section 14-10 of the C mapping, it says that an ORB can use a struct to hold a union. Doesn"t this cause portability problems?

  • Reported: C 1.0b1 — Wed, 11 Sep 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    Close with no change

  • Updated: Fri, 6 Mar 2015 20:57 GMT

All interfaces must be defined at global scope?

  • Key: C11-58
  • Legacy Issue Number: 105
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Section 14.3 of the C mapping says that interface definitions may not occur within the scope of module declarations. Doesn"t it mean "within the scope of another interface definition"?

  • Reported: C 1.0b1 — Wed, 11 Sep 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    resolved and closed

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Confusion about ORB handling call to pseudo objects via DII

  • Key: C11-70
  • Legacy Issue Number: 158
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Par. 14.1.8 indicates that ORB may handle calls to pseudo-objects via DII specially. This spec. should indicate that DII can"t be portably used for pseudo-object references.

  • Reported: C 1.0b1 — Thu, 10 Oct 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    close – paragraph is deleted

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Entire section 14.1 should not be there (CORBA 14)

  • Key: C11-69
  • Legacy Issue Number: 157
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Entire section should not be here.It"s relevant to all potential language mappings. It should be moved to an appendix, since it is not a normative part of the specification

  • Reported: C 1.0b1 — Thu, 10 Oct 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    delete section

  • Updated: Fri, 6 Mar 2015 20:57 GMT

CORBA_BOA_set_exception() parameter issues

  • Key: C11-67
  • Legacy Issue Number: 115
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Who owns the parameters "exceptname" and "param" to CORBA_BOA_set_exception? Shouldn"t that routine take a second CORBA_Environment parameter to signal errors in its operation?

  • Reported: C 1.0b1 — Wed, 11 Sep 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    POA update eliminated conditions - close

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Specification type on CORBA_ORB_object_to_string example

  • Key: C11-66
  • Legacy Issue Number: 114
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: On p. 14-24, the example of CORBA_ORB_object_to_string seems to have the CORBA_environment parameter in an unexpected position. Is this intentional? And what about the example on 14-28?

  • Reported: C 1.0b1 — Wed, 11 Sep 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    Fixed by Portability submission

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Sequence release flag implementation

  • Key: C11-60
  • Legacy Issue Number: 107
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Section 14.11 of the C mapping introduces a release flag hidden inside the C struct; however, that struct is completely specified and leaves no bit for that flag. How does this work?

  • Reported: C 1.0b1 — Wed, 11 Sep 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    Close with no change

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Support for efficient DII invocation (Section 17.7.1 CORBA 2.))

  • Key: C11-68
  • Legacy Issue Number: 155
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Sun wants to ensure that DII interface permits implementations that support invocations without consulting the interface repository as intended by CORBA.

  • Reported: C 1.0b1 — Mon, 7 Oct 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    close

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Contents of string literal exception identifier

  • Key: C11-65
  • Legacy Issue Number: 113
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: Section 14.14 calls for a string literal which "uniquely identifies this exception type", but does not specify any rules for generating such identifiers.

  • Reported: C 1.0b1 — Wed, 11 Sep 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    Close with no change

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Malloc problems with sequence types

  • Key: C11-62
  • Legacy Issue Number: 109
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: The C mapping allocation procedures (T__alloc()) don"t allow for malloc"ing space for both the header struct and the values in one call.

  • Reported: C 1.0b1 — Wed, 11 Sep 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    Close with no change

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Confusing sequence example

  • Key: C11-61
  • Legacy Issue Number: 108
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: The fact that a sequence of longs is to be mapped into a struct is very confusing.

  • Reported: C 1.0b1 — Wed, 11 Sep 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    Close with no change

  • Updated: Fri, 6 Mar 2015 20:57 GMT

C keywords

  • Key: C11-56
  • Legacy Issue Number: 53
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: There seems to be no provision for the possibility of C keywords appearing in IDL.

  • Reported: C 1.0b1 — Thu, 11 Jul 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    resolved and closed

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Problems with underscores

  • Key: C11-57
  • Legacy Issue Number: 104
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: The C mapping advises avoiding the indiscriminate use of underscores in identifiers. To whom is this addressed? Should it be a more general restriction?

  • Reported: C 1.0b1 — Wed, 11 Sep 1996 04:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    resolved

  • Updated: Fri, 6 Mar 2015 20:57 GMT

Content of an Any is a pointer to the type -- Issue

  • Key: C11-84
  • Legacy Issue Number: 2563
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Summary: In PIN4O.00001 OMG have ruled that the content of an any is a
    pointer to the type. So a long in an Any looks like this;

    any ----> long

    But what about strings? As this type includes a pointer part
    itself the above rules would make the following appear to be the
    conformant case;

    any----> ptr to string -----> string : option 1

    Having a pointer to a pointer is a bit unwieldy but appears to follow
    the rules. Collapsing this to simply a pointer to the str thus;

    any----> string : option 2

    is more natural for programmers but ambiguous within the spec.

    We would like to know which of these two options is correct.

    Section C - Interpretation Responses

    The Open Group Initial Response:
    This request is being sent for review by OMG. We request that OMG
    rule which of the two options is correct or whether both are equally
    so.

    Consultants Initial Response:
    We recommend this request be sent to OMG for a binding interpretation.

    We recommend a PIN be granted to clarify the requirements for branding
    irrespective of which of the two options OMG selects.

  • Reported: C 1.0b1 — Tue, 30 Mar 1999 05:00 GMT
  • Disposition: Resolved — C 1.1
  • Disposition Summary:

    urgent resolution, issue closed

  • Updated: Fri, 6 Mar 2015 20:57 GMT