altos: Shrink ao_config_callsign_set
authorKeith Packard <keithp@keithp.com>
Wed, 6 Jul 2011 20:21:25 +0000 (13:21 -0700)
committerKeith Packard <keithp@keithp.com>
Wed, 6 Jul 2011 20:21:25 +0000 (13:21 -0700)
Replacing a hand-coded memset with a function call, using static space
instead of stack space for an array.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/ao_config.c

index c7fc7dd..2434bc6 100644 (file)
@@ -116,8 +116,9 @@ void
 ao_config_callsign_set(void) __reentrant
 {
        uint8_t c;
-       char callsign[AO_MAX_CALLSIGN + 1];
+       static __xdata char callsign[AO_MAX_CALLSIGN + 1];
 
+       memset(callsign, '\0', sizeof callsign);
        ao_cmd_white();
        c = 0;
        while (ao_cmd_lex_c != '\n') {
@@ -131,8 +132,6 @@ ao_config_callsign_set(void) __reentrant
                return;
        ao_mutex_get(&ao_config_mutex);
        _ao_config_get();
-       while (c < AO_MAX_CALLSIGN + 1)
-               callsign[c++] = '\0';
        memcpy(&ao_config.callsign, &callsign,
               AO_MAX_CALLSIGN + 1);
        ao_config_dirty = 1;