void zamien_ip(char *IP) { //przesylam do funkcji string z IP1 i IP2 unsigned int wynik = 0, pom[3], i = 0, j = 0; char *wsk; wsk = IP; while(*wsk != '\0') { //For zamienia do pom[i] char na int. for( i = 0 ; i < 4; i++ ) { if( *wsk == '.' || *wsk == '\0' || *wsk == ' ') { wsk++; break; } else { pom[i] = *wsk - 48; wsk++; } } //w zaleznosci od ilosci wykonan petli //zamienia odpowiednio na wynik if( i == 1 ) wynik = pom[0]; else if ( i == 2 ) wynik = pom[0] * 10 + pom[1]; else if ( i == 3 ) wynik = pom[0] * 100 + pom[1] * 10 + pom[2]; i = 0; //tutaj przesuwam wynik o odpowiednia ilosc bitow if(j == 0) ip1 = (wynik<<24); else if(j == 1) ip1 += (wynik<<16); else if(j == 2) ip1 += (wynik<<8); else if(j == 3) ip1 += wynik; else if(j == 4) ip2 = (wynik<<24); else if(j == 5) ip2 += (wynik<<16); else if(j == 6) ip2 += (wynik<<8); else if(j == 7) ip2 += wynik; wynik = 0; j++; } ip1 %= BIG; ip2 %= BIG; }