On Thu, 01 Jul 2010 18:08:47 -0500 Denis Kenzior <[email protected]> wrote:
> Hi Kristen, > > >>>> Then this code is incorrect, as it handles len 3 attrs only at the end > >>>> of the array. Also please note that SIM Toolkit Text Attributes are > >>>> always coded on 4 bytes (see 102.223 Section 8.72 for details). You > >>>> might want to assume 4 byte alignment or invent a data structure for > >>>> these attributes. > >>> > >>> I should have said that attrs_len does not always have to be a multiple > >>> of 4 -- it is allowed to only have 3 byte attrs as the last attribute, > >>> so the code is correct. However, since not all attributes are > >>> required to be of len 4, we can't just assume attrs_len is a multiple > >>> of 4. > >>> > >> > >> How do you figure this? From 23.040 Section 9.2.3.24.10.1.1 Text > >> Formatting > >> > >> "Octet 4 > >> > >> This Octet may be omitted by setting the IED length accordingly." > > > > This isn't the clearest language, so my interpretation of this is > > you may omit one byte if you set the length properly. Clearly > > the spec tell you that the byte is optional, so I think it would > > be wrong to assume that all are 4 bytes. Also, since obviously > > we can't support mixed 3 and 4 byte fields since we'd have no > > way to know if the next byte was the start of the next attribute, > > it's got to be at the end of the array. > > Actually it is not. Each Text attribute is put into an SMS header, with > the header having an IEI (Information Element Identifier), Length and > Data. See SMS_IEI_TEXT_FORMAT in smsutil.h > > Hence, when an EMS PDU is parsed, you know whether this is a 3 byte or a > 4 byte element. > > Regards, > -Denis The way this function is - we have no knowledge of the pdu. Are you wanting to change the arguments to this function to include an sms header? or a pdu? Or are you saying the caller is responsible for padding out the text attribute into a 4 byte attribute? _______________________________________________ ofono mailing list [email protected] http://lists.ofono.org/listinfo/ofono
