From: Douglas Goodall <douglas_goodall@ma...> - 2011-05-31 15:28:55
It is difficult without the entire source tree to look at specific lines and understand the issues.
In frame802154-changed.c line 84,
you have changed the parameter "mode" to be a pointer to an unsigned 8-bit integer type,
but is it a pointer, or is it the mode?
Is the caller passing the variable by value or by reference (address).
It is unclear to me why you are (in line 124) getting dest_addr_len
using addr_len( &(fcf->dest_addr_mode ) instead of "p->fcf.dest_addr_mode & 3"
In the line above, the pointer "p" is still in use.
Is there a reason you changed the semantics of access to the fcf structure
from access through the pointer p, to access via an & override of fcf as a pointer
when fcf is a structure?
You have not provided an example of the code that calls addr_len,
so it is hard to determine the nature of "mode".
If it is a pointer, I don 't know why you added the * in line 87 ?
I dont see any evidence that mode is a pointer to a pointer.
If you want help, you will have to choose a specific issue, provide the code, and an example of
code that calls the code, as well as definitions of the variables in use.
I wish I could help you more.
On May 31, 2011, at 6:22 AM, Liu Ming wrote:
> Hello everyone,
> Anyone can help me? I am working on contiki on cc2530 chip using SDCC.
> But so many problems which I don't know why make me crazy.
> Like the example in attachment, frame-802154.c is the original one in Contiki git, frame-802154-changed.c is my version to make it can work.
> Sorry, I don't know why the "fixing" can work, I just list it for all of you:
> 1) line 81 of frame-802154-changed.c make veriable flen to be static.
> 2) line 85 of frame-802154-changed.c make param of addr_len to be pointer
> 3) line 121 of frame-802154.c, the & operation stop the normal running. so I cut it out.
> 4) line 235 of frame-802154-changed.c, src_addr_len is changed from 8 to 7 in SOMEWHERE. so I can just using /2 and *2...
> And some other problem like
> 1)the pointer of pointer param make function crash(**point).
> 2)if you use same pointer in function following anther, the pointer address will change.
> A(&pointer); //Ok
> B(&pointer); //pointer changed.
> I don't know why, And I need to know. Maybe some problem is funny and not right. But anyone can give me some cue?
> Luke Liu
> Simplify data backup and recovery for your virtual environment with vRanger.
> Installation's a snap, and flexible recovery options mean your data is safe,
> secure and there when you need it. Data protection magic?
> Nope - It's vRanger. Get your free trial download today.
> Sdcc-user mailing list