Big trouble in pointer use!

I suppose that you will find my problem stupid, but I wonder if I’m completely
beside of my chair or if there is a real problem.

I’d like you look at dd1.jpg where you can see that I want to initialize a
pointer (process_pp) as I done few lines above with prev_process_pp.

The assembler instruction is pointed by the arrow
(remove_process_from_parameter+38).
First, I don’t understand what the ‘add’ instruction is supposed to do here.
If I execute this assembler line (stepi), the pointer receive the correct
value, but strangely, the original value has been modified as you can see in
ddd2.jpg for (data_hash_p->process_list_p).

Can you explain me why?

Thanks,
Alain.

Alain Bonnefoy a écrit :

I suppose that you will find my problem stupid, but I wonder if I’m completely
beside of my chair or if there is a real problem.

I’d like you look at dd1.jpg where you can see that I want to initialize a
pointer (process_pp) as I done few lines above with prev_process_pp.

The assembler instruction is pointed by the arrow
(remove_process_from_parameter+38).
First, I don’t understand what the ‘add’ instruction is supposed to do here.
If I execute this assembler line (stepi), the pointer receive the correct
value, but strangely, the original value has been modified as you can see in
ddd2.jpg for (data_hash_p->process_list_p).

Can you explain me why?

Thanks,
Alain.


[Image] [Image]

Gloups! If the local variables are declared static, that works fine!

!?!
Alain.

Alain Bonnefoy a écrit :

Alain Bonnefoy a écrit :

I suppose that you will find my problem stupid, but I wonder if I’m completely
beside of my chair or if there is a real problem.

I’d like you look at dd1.jpg where you can see that I want to initialize a
pointer (process_pp) as I done few lines above with prev_process_pp.

The assembler instruction is pointed by the arrow
(remove_process_from_parameter+38).
First, I don’t understand what the ‘add’ instruction is supposed to do here.
If I execute this assembler line (stepi), the pointer receive the correct
value, but strangely, the original value has been modified as you can see in
ddd2.jpg for (data_hash_p->process_list_p).

Can you explain me why?

Thanks,
Alain.


[Image] [Image]

Gloups! If the local variables are declared static, that works fine!

!?!
Alain.

seems to be a ddd joke, the code works fine! I suppose that comes from
optimizations.

Alain.

Well, at least we got to enjoy watching you have a nice conversation with
yourself. :wink:

cheers,

Kris

“Alain Bonnefoy” <alain.bonnefoy@icbt.com> wrote in message
news:3C3D87E4.DFC9E487@icbt.com

Alain Bonnefoy a écrit :

Alain Bonnefoy a écrit :

I suppose that you will find my problem stupid, but I wonder if I’m
completely
beside of my chair or if there is a real problem.

I’d like you look at dd1.jpg where you can see that I want to
initialize a
pointer (process_pp) as I done few lines above with prev_process_pp.

The assembler instruction is pointed by the arrow
(remove_process_from_parameter+38).
First, I don’t understand what the ‘add’ instruction is supposed to do
here.
If I execute this assembler line (stepi), the pointer receive the
correct
value, but strangely, the original value has been modified as you can
see in
ddd2.jpg for (data_hash_p->process_list_p).

Can you explain me why?

Thanks,
Alain.

\

[Image] [Image]

Gloups! If the local variables are declared static, that works fine!

!?!
Alain.

seems to be a ddd joke, the code works fine! I suppose that comes from
optimizations.

Alain.