read_args(sArg,255);
W linii powyżej wczytałeś 255 znaków (o ile tyle jest, oczywiście) do zmiennej sArg.
W linii poniżej 'wyrzucasz' wszystkie cudzysłowia ze zmiennej sArg, używając funkcji replace... jednak ograniczasz to do 30 znaków.
replace( sArg, 30, "^"", "");
Jak Ci ładnie serwer napisał: Bufor nie jest odpowiednio duży i 44 znaki nie wchodzą do limitu 30 (44>=30).
Dwa rozwiązania:
1. Wczytuj mniej znaków przez read_args. [Nick może mieć maksymalnie 31 znaków. Do tego dodajesz długość ciągu "/dajfragi" - 9 znaków. Jeden na spacje pomiędzy, dwa na ewentualne cudzysłowia...: 31+9+1+2 = 43. No i oczywiście +1 na znak końca ciągu = 44 w read_args powinno Ci wystarczyć]
2. Zwiększ bufor w replace - najlepiej do 255.
Użytkownik JabLuszko edytował ten post 16.01.2013 20:47