Beim steppen einer meiner Proggis bin ich auf eine Stelle im AVR32UC3
Framework gestossen, die mir seltsam vorkam.
Ich verwende in diesem Fall das Framework um eine SD-Karte anzusprechen.
in der "navigation.c" gibt es eine Funktion:
1 | Fs_index nav_getindex( void )
|
2 | {
|
3 | Fs_index index;
|
4 | ...
|
5 | return index;
|
6 | }
|
Wenn man jetzt z.B.
1 | int main()
|
2 | {
|
3 | Fs_index idx;
|
4 | idx = nav_getindex();
|
5 |
|
6 | //tu irgendwas um den Stack/Queue zu belasten
|
7 | ...
|
8 | ...
|
9 |
|
10 | nav_gotoindex(&idx);
|
11 | while(1);
|
12 | }
|
Wenn ich mich dunkel erinnere, wird eine Referenz auf ein lokale (und
nach Ende der Fkt. nicht mehr existente) Variable zurückgegeben? Wenn
die Position wiederhergestellt werden soll, frage ich mich, ob die
Position dann noch die gleiche ist?