#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int enterAddress( struct in_addr* in)
{
char buffer[ 32 ] ;
int i= 0 ;
printf ( "Enter the IP address: " ) ; do {
if ( ch == EOF) {
return 0 ;
}
buffer[ i] = ch;
if ( ch != '\n ' ) {
}
} while ( buffer[ i] > 0 && buffer[ i] != '\n ' && ++ i < sizeof ( buffer) - 1 ) ;
buffer[ i] = 0 ;
if ( inet_aton( buffer, in) == - 1 ) {
return 0 ;
}
// Here you could check that IP is not 0.0.0.0
return i > 0 ;
}
void printAddress( struct in_addr* in)
{
printf ( "You entered IP address: %s\n \n \n " , inet_ntoa
( * in
) ) ; }
int main( void )
{
struct in_addr dir;
while ( enterAddress( & dir) ) {
printAddress( & dir) ;
}
// your code goes here
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojaW5jbHVkZSA8c3lzL3NvY2tldC5oPgojaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgojaW5jbHVkZSA8YXJwYS9pbmV0Lmg+CgppbnQgZW50ZXJBZGRyZXNzKHN0cnVjdCBpbl9hZGRyKiBpbikKewoJY2hhciBidWZmZXJbMzJdOwoJaW50IGk9IDA7CgltZW1zZXQoaW4sIDAsIHNpemVvZigqaW4pKTsKICAgIHByaW50ZigiRW50ZXIgdGhlIElQIGFkZHJlc3M6ICIpOwoJZG8gewoJCWludCBjaD0gZ2V0Y2hhcigpOwoJCWlmIChjaCA9PSBFT0YpIHsKCQkJcmV0dXJuIDA7CgkJfQoJCWJ1ZmZlcltpXT0gY2g7CgkJaWYgKGNoICE9ICdcbicpIHsKCQkJcHJpbnRmKCIlYyIsIGJ1ZmZlcltpXSk7CgkJfQoJCWZmbHVzaChzdGRvdXQpOwoJfSB3aGlsZSAoYnVmZmVyW2ldID4gMCAmJiBidWZmZXJbaV0gIT0gJ1xuJyAmJiArK2kgPCBzaXplb2YoYnVmZmVyKS0xKTsKCWJ1ZmZlcltpXT0gMDsKCXByaW50ZigiXG4iKTsKCQoJaWYgKGluZXRfYXRvbihidWZmZXIsIGluKSA9PSAtMSkgewoJCXJldHVybiAwOwoJfQoJLy8gSGVyZSB5b3UgY291bGQgY2hlY2sgdGhhdCBJUCBpcyBub3QgMC4wLjAuMAoJcmV0dXJuIGkgPiAwOwp9Cgp2b2lkIHByaW50QWRkcmVzcyhzdHJ1Y3QgaW5fYWRkciogaW4pIAp7CiAgICBwcmludGYoIllvdSBlbnRlcmVkIElQIGFkZHJlc3M6ICVzXG5cblxuIiwgaW5ldF9udG9hKCppbikpOwp9CgppbnQgbWFpbih2b2lkKSAKewoJc3RydWN0IGluX2FkZHIgZGlyOwoJCgl3aGlsZSAoZW50ZXJBZGRyZXNzKCZkaXIpKSB7CgkJcHJpbnRBZGRyZXNzKCZkaXIpOwoJfQoKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCXJldHVybiAwOwp9Cg==