## c't-Projekte - Mailinglisten

[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

### [ct-bot] Patch für fehlende #ifdef-Verzweigungen

Absender: Simon Siemens
Datum: Mi, 02.03.2011 17:34:21

    Hallo Mailing-Liste,

    ich habe den ct-Bot-Code des stable-Zweigs mit einer sehr eingeschrÃnkten Konfiguration in ct-Bot.h Ãbersetzt. Dabei sind einige Linker-Fehler aufgetreten, die ich alle auf fehlende #ifdef-Verzweigungen zurÃckfÃhren konnte. Am Ende dieser Email finden Sie einen Patch, der diese Fehler korrigiert.

    Kann bitte jemand den Patch prÃfen? Insbesondere durch die Bedingungen fÃr
    BEHAVIOUR_REMOTECALL_AVAILABLE fÃllt in cmd-tools_pc.c einiges heraus.
    Mir scheint das so korrekt zu sein.

    Ich wÃrde mich sehr freuen, wenn die Fehler noch im aktuellen
    stable-Zweig korrigiert werden wÃrden. Damit ist es fÃr mich und meine
    Studenten leichter, eine funktionierende Codebasis herzustellen.

    GruÃ, Simon

    Index: pc/cmd-tools_pc.c
    ===================================================================
    --- pc/cmd-tools_pc.c	(Revision 1736)
    +++ pc/cmd-tools_pc.c	(Arbeitskopie)
    @@ -43,7 +43,9 @@

     //#define DEBUG

    +#ifdef BEHAVIOUR_REMOTECALL_AVAILABLE
     static pthread_t cmd_thread; /*!< Thread fuer die RemoteCall-Auswertung
    per Kommandozeile */
    +#endif // BEHAVIOUR_REMOTECALL_AVAILABLE

     /*!
      * Zeigt Informationen zu den moeglichen Kommandozeilenargumenten an.
    @@ -269,6 +271,8 @@
     	}
     }

    +
    +#ifdef BEHAVIOUR_REMOTECALL_AVAILABLE
     /*!
      * Liest RemoteCall-Commands von stdin ein
      */
    @@ -344,4 +348,5 @@
     	pthread_create(&cmd_thread, NULL, (void * (*)(void *))
    read_command_thread, NULL);
     }

    +#endif // BEHAVIOUR_REMOTECALL_AVAILABLE
     #endif // PC
    Index: pc/init-low_pc.c
    ===================================================================
    --- pc/init-low_pc.c	(Revision 1736)
    +++ pc/init-low_pc.c	(Arbeitskopie)
    @@ -58,6 +58,8 @@
      * ausgefuehrt werden sollen
      */
     void ctbot_init_low_last(void) {
    +#ifdef BEHAVIOUR_REMOTECALL_AVAILABLE
     	cmd_init();
    +#endif // BEHAVIOUR_REMOTECALL_AVAILABLE
     }
     #endif // PC
    Index: ct-Bot.c
    ===================================================================
    --- ct-Bot.c	(Revision 1736)
    +++ ct-Bot.c	(Arbeitskopie)
    @@ -112,8 +112,16 @@
     #endif // CREATE_TRACEFILE_AVAILABLE

     		/* jeweils alle 100 ms kommunizieren Bot, User und Sim */
    -		if (timer_ms_passed_16(&comm_ticks, 50) || RC5_Code != 0) {
    -			if (uart_gui == 0 || RC5_Code != 0) {
    +		if (timer_ms_passed_16(&comm_ticks, 50)
    +#ifdef RC5_AVAILABLE
    +|| RC5_Code != 0
    +#endif // RC5_AVAILABLE
    +		) {
    +			if (uart_gui == 0
    +#ifdef RC5_AVAILABLE
    +|| RC5_Code != 0
    +#endif
    +			) {
     #ifdef DISPLAY_AVAILABLE
     				/* GUI-Behandlung starten */
     				gui_display(display_screen);
    Index: ui/gui.c
    ===================================================================
    --- ui/gui.c	(Revision 1736)
    +++ ui/gui.c	(Arbeitskopie)
    @@ -200,7 +200,9 @@
     	/* Gueltigkeit der Screen-Nr. pruefen und Anzeigefunktion aufrufen,
    falls Screen belegt ist */
     #ifdef LED_AVAILABLE
     #ifndef TEST_AVAILABLE
    +#ifdef RC5_AVAILABLE
     	if (RC5_Code != 0) LED_on(LED_WEISS);
    +#endif // RC5_AVAILABLE
     #endif // TEST_AVAILABLE
     #endif // LED_AVAILABLE
     	if (screen < max_screens && screen_functions[screen] != NULL)
    screen_functions[screen]();
    @@ -222,8 +224,10 @@
     	}
     #endif // KEYPAD_AVAILABLE

    +#ifdef RC5_AVAILABLE
     	if (RC5_Code != 0) default_key_handler(); // falls rc5-Code noch nicht
    abgearbeitet, Standardbehandlung ausfuehren
     	RC5_Code = 0; // fertig, RC5-Puffer loeschen
    +#endif // RC5_AVAILABLE
     #ifdef LED_AVAILABLE
     #ifndef TEST_AVAILABLE
     	LED_off(LED_WEISS);

- Antworten:
  - Re: [ct-bot] Patch für fehlende #ifdef-Verzweigungen
    - From: Timo Sandmann

- Voriger (Datum): Re: [ct-bot] MMC ohne SPI HW-Change & Distanzsensoren, Timo Sandmann
- Nächster (Datum): Re: [ct-bot] Patch für fehlende #ifdef-Verzweigungen, Timo Sandmann
- Voriger (Thread): Re: [ct-bot] MMC ohne SPI HW-Change & Distanzsensoren, Timo Sandmann
- Nächster (Thread): Re: [ct-bot] Patch für fehlende #ifdef-Verzweigungen, Timo Sandmann
- Indizes:
  - Datum
  - Thread