Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!usc!apple!agate!ucbvax!RHINO.NCSL.NIST.GOV!tebbutt From: tebbutt@RHINO.NCSL.NIST.GOV (John Tebbutt) Newsgroups: comp.protocols.iso.dev-environ Subject: OPTIONAL SEQUENCES and pepy Message-ID: <9103271724.AA02050@rhino.ncsl.nist.gov> Date: 27 Mar 91 17:24:13 GMT Sender: daemon@ucbvax.BERKELEY.EDU Distribution: inet Organization: National Institute of Standards and Technology (NIST) Lines: 56 This is a reposting of something I put out a week ago which was immediately met with a deafening silence! Since it generated so much interest the first time around, it occurred to me that you all might like to see it again, so here it is ;^) PS I figure the reason I got so few responses was either that I was way wide of the mark and had missed some fundamental truth or that I had inadvertantly discovered a genuine problem with pepy which has had all the ISODE people scratching their heads ever since. My money is on the former, but I would appreciate any feedback whatsoever - even RTFMs! ----- Begin Included Message ----- I have a problem relating to how an application can discern between an OPTIONAL SEQUENCE which is present but empty, and one which is absent, based on the pepy decoder generated local C structure. For example, if I have an ASN.1 definition: DistributedOperationsArgument ::= SET { originator[0] DistinguishedName OPTIONAL, targetObject[1] DistinguishedName OPTIONAL, ... } ...where DistinguishedName ::= SEQUENCE OF SomethingOrOther, the corresponding pepy generated struct looks like this: struct DistributedOperationsArgument { struct DistinguishedName *originator; struct DistinguishedName *targetObject; ... }; Now, if originator == (struct DistinguishedName *)NULL, does that mean (a) that originator was not present in the encoding, (b) that originator was present but empty, or (c) either/both? In the case of (a) or (b), what value of originator would indicate the converse? Many thanks in advance for any insights. JT ----- End Included Message -----