Witam ponownie, może tym razem ktoś pomoże? Już na czacie większy ruch...
Chodzi o to że dalej morduję komunikację z modemem i wreszcie ruszyłem o dwa kroki do przodu po czym musiałem się cofnąć o półtora kroku w efekcie jestem pół kroku dalej

ale nie w tym rzecz. Po kilkudniowej walce z rozumem doszedłem do wniosku że parsowanie danych będzie mi działało jeśli odbiorę stringa w jednej linii. Funkcja odbierająca Mirka z zielonej książki odbiera ale dzieli stringa na sztuki po każdym wykryciu znaku <CR> przez co zamiast jednej odpowiedzi modemu dostaję 2/3/4 zależnie o co pytam. Doszedłem więc do wniosku że pasuje zliczyć ile leci enterów <CR> i po ostatnim ustawić tylko zmienną ascii_line na 1. Eureka! udało się, działa... ale no właśnie jest pewne ale. Chodzi o to że "nie wiem" ile ma przylecieć tych <CR> wiec narazie mam na sztywno 4. Jednak nie dla wszystkich komend to pracuje poprawnie. Jak zatem zrobić tę funkcję bardziej uniwersalną? Aha jeszcze pytanie co sie stanie jak przyjdzie np. sms dłuuuuugi? Nie zapaskudzi przypadkiem bufora odbiorczego? Bufor mam na 100 znaków.
Poniżej kod który naskrobałem, dziękuje za wszelkie sugestie i pozdrawiam Dexter.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.