Excerpts from Justin Otherguy's message of Mi Feb 03 00:33:27 +0100 2010: > Moin, > > danke für die Rückmeldung! > > Christian Dietrich <stettber...@dokucode.de> schrieb: > > > Excerpts from Justin Otherguy's message of Sa Jan 30 20:59:29 +0100 2010: > >> > >> Das hier bleibt in httplog.c übrig: > >> > >> ---schnipp--- > >> static const char PROGMEM get_string_head[] = > >> "GET /httplog/httplog.php?"; > >> static const char PROGMEM get_string_foot[] = > >> " HTTP/1.1\n" > >> "Host: " CONF_HTTPLOG_SERVICE "\n\n\n"; > >> --- > >> if (uip_connected() || uip_rexmit()) { > >> char *p = uip_appdata; > >> p += sprintf_P(p, get_string_head); > >> p += sprintf(p, httplog_tmp_buf); // <- ..."bla"... > > > > Ich täte mal genau an der Stelle ein debug_printf einbauen. > > p += sprintf_P(p, get_string_head); > p += sprintf(p, httplog_tmp_buf); > debug_printf("guckst Du: %s\n", p); > p += sprintf_P(p, get_string_foot); > > ergibt: > > D: guckst Du: > D: httplog: send 1269 bytes
Das ist schonmal garnit gut, da ist dein Puffer ja schon kaputt, da ist klar, dass das senden nit gehen kann. Du kannst ja auch mal alles in einem sprintf machen. IIRC war %s fuer ram und %S fuer PGMSPACE. Alternative kannste auch noch in debug_printf format strings machen, also ungefaer so: debug_printf("schau an: %S%s%S\n", get_string_head, httplog_tmp_buf, get_string_foot); > > > Und dass der Puffer groß genug ist ist auch sichergestellt. > das war jetzt ne Frage, oder? Wie krieg ich das raus? Also der UIP-Puffer sollte mal per definition grosz genug sein (beim m644 sinds 1,5 kbyte). > > D: p ist derzeit: > D: httplog: got dns response, connecting Ja gut, dass ist ein Resulatat des obigen, da muss jetzt nicht unbedingt was kaputt sein an der Stelle. > das könnte ich als Kompliment nehmen - liegt aber wohl eher daran, > dass das eben twitter.c | sed ... ist ;-) Sed ist doch toll :-) > > > Wenn das httplog mal funktioniert koenn mers gerne in ethersex > > einbauen. > schön :-) > > Kannst Du mir erklären, wie diese Zeile hier funktioniert? > p += sprintf(p, buffer); oh oh, oh, langsam daemmerts mir. ersetzt mal den ganzen wusst durch ein einziges sprintf, weil jetzt ja keine format strings ala %s p sind. Hier ist p ein Format string und buffer die argumente. Du kannst auch mal versuchen strcat bzw. strcat_P zu verwenden, das haengt einfach was an. gruß didi -- No documentation is better than bad documentation -- Das Ausdrucken dieser Mail wird urheberrechtlich verfolgt. _______________________________________________ Ethersex-devel mailing list Ethersex-devel@list.zerties.org https://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel