mdeslauriers@ccrit.doc.CDN (Michel Deslauriers) (01/21/91)
This msg. concern the ASN.1 part of ISODE. The comments in the file psap.h says that the value range for ASN1 Tag Numbers (represented by PElementID) is : 0 .. 16383 After few tries, it seems that an ID overflow occurs if the ID is bigger than 8191. This means only 13 bits (PE_ID_BITS) are available instead of 14. Am I rigth? Michel Deslauriers (Canadian Research Center). mdeslauriers@ccrit.doc.cdn
mrose@CHEETAH.CA.PSI.COM (Marshall Rose) (01/22/91)
A reply was sent to you last week, but the message was returned. Please provide the evidence you have which suggests this. Send it to bug-isode@nisc.psi.net /mtr
OSmith@acorn.co.uk (Owen Smith) (01/22/91)
In article <409*mdeslauriers@ccrit.doc.cdn> mdeslauriers@ccrit.doc.CDN (Michel Deslauriers) writes: >The comments in the file psap.h says that the value range for ASN1 Tag >Numbers is : 0 .. 16383 > >After few tries, it seems that an ID overflow occurs if the ID is bigger >than 8191. > >This means only 13 bits (PE_ID_BITS) are available instead of 14. Although I am not familiar with the ISODE code, this sounds correct. It takes 2 bits to represent the Class (Universal, Application, Context and Private) and 1 bit to represent the Form (Cons and Prim) which leaves you with 13 bits. Some other implementations have allowed 14 bits of ID by trying to work out the Form at encoding time based on the presence of prim or cons pointers. However, this scheme has difficulty telling the difference between a zero length primitive and an empty constructor. Maybe ISODE used to do this but doesn't anymore (due to above problem) and the comments in psap.h are out of date? The views expressed are my own and are not necessarily those of Acorn.