isinetaddr/README.md
2023-08-25 20:35:56 -03:00

1.6 KiB

About

isinetaddr is a simple C library that provides an interface that can be used to validate one or more IPv4 addresses. Easily extensible testcases exist to verify safety and correctness.

Examples

IPv4

The following example demonstrates the isinetaddr function with both valid and invalid inputs. The isinetaddr function returns 1 when the input given is valid, and otherwise returns 0.

#include <isinetaddr.h>
#include <stdio.h>
#include <stdlib.h>

const char *strings[] = {
  "127.0.0.1", "1.1.1.1", "0.0.0.0",
  "foobar", "0.0.0.0.0"
};

int
main(void)
{
    const char *str;
    const int i = sizeof(strings) / sizeof(strings[0]);
    for (int j = 0; j < i; j++) {
        str = strings[j];
        if (isinetaddr(str)) {
            printf("%s is a valid IPv4 address\n", str);
        } else {
            printf("%s is an invalid IPv4 address\n", str);
        }
    }
    return EXIT_SUCCESS;
}

When the above source code is compiled and run the output is expected to be as follows:

$ cc -Iinclude src/isinetaddr.c share/isinetaddr/examples/IPv4.c -o example
$ ./example
127.0.0.1 is a valid IPv4 address
1.1.1.1 is a valid IPv4 address
0.0.0.0 is a valid IPv4 address
foobar is an invalid IPv4 address
0.0.0.0.0 is an invalid IPv4 address

Sources

License

BSD Zero Clause.
See LICENSE.