Kleiner Fehler in 'gui_redraw'

CHDK-Skripte, CHDK-Entwicklung, PC-Zusatzprogramme, Informationen für Tüftler

Kleiner Fehler in 'gui_redraw'

Beitragvon TobiMarg » 08.11.2011, 14:09

Hallo

Wenn ich mit deaktivierter Option OPT_GAME_REVERSI compilliere bekomme ich diesen Fehler:
gui.c: In function 'gui_redraw':
gui.c:2140: warning: comparison between pointer and integer
gui.c:2137: error: label 'gui_mode' used but not defined
C:\CHDK\gcc4\bin\gmake.exe[1]: *** [gui.o] Error 1
gmake: *** [all-recursive] Error 1

In revision 850 fängt es bei Zeile 290 an.

Die Codestelle ist die:
Syntax: [ Download ] [ Verstecken ]
Benutze C Syntax Highlighting
...
#if defined (OPT_GAME_REVERSI) || (OPT_GAME_SOKOBAN || (OPT_GAME_CONNECT4) || OPT_GAME_MASTERMIND || OPT_GAME_TETRIS)
          if (
    #ifdef OPT_GAME_REVERSI
                      gui_mode != GUI_MODE_REVERSI
    #endif
    #ifdef OPT_GAME_SOKOBAN
                && gui_mode != GUI_MODE_SOKOBAN
    #endif
...
Erstellt in 0.005 Sekunden, mit GeSHi 1.0.8.9


Ich (eigentlich mein Bruder) habe rausgefunden das es nicht geht, denn wenn GUI_MODE_REVERSI nicht definiert ist ist es so:
Syntax: [ Download ] [ Verstecken ]
Benutze C Syntax Highlighting
...
if (&& gui_mode != GUI_MODE_SOKOBAN
...
Erstellt in 0.003 Sekunden, mit GeSHi 1.0.8.9

und funktioniert darum nicht.

Die Lösung ist:
Syntax: [ Download ] [ Verstecken ]
Benutze C Syntax Highlighting
...
#if defined (OPT_GAME_REVERSI) || (OPT_GAME_SOKOBAN || (OPT_GAME_CONNECT4) || OPT_GAME_MASTERMIND || OPT_GAME_TETRIS)
          if ( 1
    #ifdef OPT_GAME_REVERSI
                &&  gui_mode != GUI_MODE_REVERSI
    #endif
    #ifdef OPT_GAME_SOKOBAN
                && gui_mode != GUI_MODE_SOKOBAN
    #endif
...
Erstellt in 0.004 Sekunden, mit GeSHi 1.0.8.9

"if ( 1" und am anfang ein "&&" sind die Unterschiede

Stimmt das so?
Ist das kein Fehler sondern liegt an mir?

Ich verwende version 844 (mache gerade ein update), es ist aber in 850 genauso (http://tools.assembla.com/chdkde/browse ... core/gui.c)

Wenn das ein "richtiger" Fehler ist kann vielleicht jemand ein Checkin machen, mit diese Änderung.

Gruss
TobiMarg
TobiMarg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 102
Registriert: 24.09.2011, 15:17
Kamera(s): SX230HS 1.01c

Re: Kleiner Fehler in 'gui_redraw'

Beitragvon msl » 08.11.2011, 14:54

Hallo TabiMarg,

Vielen Dank für den Hinweis.

Ich habe das Problem etwas anders gelöst, in dem ich die Präprozessor-Makros an dieser Stelle entfernt habe. Sie sind an dieser Stelle im Prinzip auch nicht notwendig.

Die Änderung ist ab Revision 851 verfügbar.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: Kleiner Fehler in 'gui_redraw'

Beitragvon TobiMarg » 08.11.2011, 17:45

Hallo msl,

Das ist eine gute Lösung, die auch noch Platz spart. :)
Schön das so etwas hier so schnell geht.

Gruss
TobiMarg
TobiMarg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 102
Registriert: 24.09.2011, 15:17
Kamera(s): SX230HS 1.01c


Zurück zu Code-Ecke

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron