Are you referring to 16 bit alignment? Where can I read up on this alignment
issue? I have never found it in the API or in the Companion. Here are a
couple examples of my structures:
typedef struct
{
UInt32 ID_One;
UInt32 ID_Two;
UInt8 Status_One;
UInt8 Status_Two;
Char String_One[50];
Char String_Two[15];
Char String_Three[15];
} Sample1; //this structure is part of the original union that worked
without issues
typedef struct
{
UInt32 TimeStamp;
UInt32 Size;
Char ID[22];
Char BigArray[1006];
} Sample2; //this structure was added to the union and is causing problems
I neglected to mention that not only was I reorganizing the union members
order but I was adding new members. I guess the string size factors into the
alignment issue since I am setting a fixed size for the array right? I
discovered today that if I remove the Sample2 structure from the union that
everything seems to be normal again. Correct me if I am wrong but if the
UInt variables total memory usage is divisible by 16 then that part should
be fine. In addition, since Chars are 8 bit, the total number of Chars needs
to be divisible by 16 as well right?
Glen
"Jim Morris" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
> Did you check for structure packing and possible alignment issues?
>
> Glen Peters wrote:
>> I have a union of structures inside of a structure. This outer structure
>> is used as a "packet" to be sent via a NetLib socket. If I change the
>> order of the structures in the union, recompile and test I have problems.
>> When I debug using Palm OS Debugger I find that the app crashes during
>> the closure of the application in the assembly following the return from
>> PilotMain. If I restore the union to it's original state and order, it
>> works again without crashing. Any thoughts on how to fix this? It will
>> also crash sometimes when the structure containing the union is in scope
>> and I call NetLibOpen. Pretty wacky if you ask me.
>>
>> Glen Peters
>>
>>
>>
>
--
For information on using the PalmSource Developer Forums, or to unsubscribe,
please see http://www.palmos.com/dev/support/forums/