X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=miscutil.c;h=fe0cd9b53fc921d4dbc317a1c950259f54cb8e31;hp=9d1226b50aae03ecbf02dbd577def80a740ef9e7;hb=b55bdc6ca9363694aedace28f111a9b5c504a25f;hpb=c83713758e9465e03ec3b0228c433e6f2d843352 diff --git a/miscutil.c b/miscutil.c index 9d1226b5..fe0cd9b5 100644 --- a/miscutil.c +++ b/miscutil.c @@ -242,7 +242,7 @@ void write_pid_file(const char *pid_file) * * Function : hash_string * - * Description : Take a string and compute a (hopefuly) unique numeric + * Description : Take a string and compute a (hopefully) unique numeric * integer value. This is useful to "switch" a string. * * Parameters : @@ -633,7 +633,7 @@ void string_move(char *dst, char *src) * 1 : string = string to be duplicated * 2 : len = number of bytes to duplicate * - * Returns : pointer to copy, or NULL if failiure + * Returns : pointer to copy, or NULL if failure * *********************************************************************/ char *bindup(const char *string, size_t len) @@ -1002,6 +1002,49 @@ time_t timegm(struct tm *tm) #endif /* !defined(HAVE_TIMEGM) && defined(HAVE_TZSET) && defined(HAVE_PUTENV) */ +/********************************************************************* + * + * Function : host_is_ip_address + * + * Description : Checks whether or not a host is specified by + * IP address. Does not actually validate the + * address. + * + * Parameters : + * 1 : host = The host name to check + * + * Returns : 1 => Yes + * 0 => No + * + *********************************************************************/ +extern int host_is_ip_address(const char *host) +{ + const char *p; + + if (NULL != strstr(host, ":")) + { + /* Assume an IPv6 address. */ + return 1; + } + + for (p = host; *p; p++) + { + if ((*p != '.') && !privoxy_isdigit(*p)) + { + /* Not a dot or digit so it can't be an IPv4 address. */ + return 0; + } + } + + /* + * Host only consists of dots and digits so + * assume that is an IPv4 address. + */ + return 1; + +} + + /* Local Variables: tab-width: 3