Hallo Taru,

>    Ethersex werkelte schon eine ganze Weile störungsfrei, bis ich
>    einen Zähler und die Ausgabe eingebaut habe. Dann gab es
>    Abstürze.
>    Als Ursache stellte sich itoa_fixedpoint() heraus, die nicht
>    den ganzen Integerwertebereich ausgeben kann.
[...]
Korrekt.

>    Mein Patch 'dividiert' alles vor der Loop durch 10:
>      int16_t m = 1;
>      int16_t n_10= n/10;
>      while (m <= n_10)
>      {
>        m *= 10;
>        digits++;
>      }

Der folgende Code ist besser lesbar und erzeugt die identische
Codegröße:

  int16_t m = 1;
  while (m <= n/10)
  {
    m *= 10;
    digits++;
  }

Die Korrektur hat trotzdem einen Mehrverbrauch von 10 Byte Flash.

>    So, das ist mein erster Patch für Ethersex.Ich hoffe
>    ich habe alles richtig gemacht und die Beschreibung ist verständlich.
>    Kritik ist willkommen wenn ich etwas besser machen kann.

Am liebsten nehmen wir freilich Patches direkt als Pull Request
auf github.com entgegen. Da es sich hier aber um eine überschaubare
Änderung handelt, werde ich das für dich übernehmen.


_______________________________________________
Ethersex-devel mailing list
Ethersex-devel@list.zerties.org
http://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel

Antwort per Email an