summaryrefslogtreecommitdiffstats
path: root/extensions/libipt_udp.c
diff options
context:
space:
mode:
author/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=kaber/emailAddress=kaber@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=kaber/emailAddress=kaber@netfilter.org>2006-07-20 17:01:54 +0000
committer/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=kaber/emailAddress=kaber@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=kaber/emailAddress=kaber@netfilter.org>2006-07-20 17:01:54 +0000
commit18c7ec36ac949aaaf28aa25d11c0289a88d35592 (patch)
treef12056e44275c023cef77e131ef9038e9efc3915 /extensions/libipt_udp.c
parent877fab32b43e91b0a55b655a7b7d6ac0844918fd (diff)
[PATCH] reduce parse_*_port duplication (Phil Oester <kernel@linuxace.com>)
The below patch (dependent upon my 'reduce service_to_port duplication' patch) centralizes the parse_*_port functions into parse_port.
Diffstat (limited to 'extensions/libipt_udp.c')
-rw-r--r--extensions/libipt_udp.c19
1 files changed, 3 insertions, 16 deletions
diff --git a/extensions/libipt_udp.c b/extensions/libipt_udp.c
index a49e8f7..7f461d8 100644
--- a/extensions/libipt_udp.c
+++ b/extensions/libipt_udp.c
@@ -30,19 +30,6 @@ static struct option opts[] = {
{0}
};
-static u_int16_t
-parse_udp_port(const char *port)
-{
- unsigned int portnum;
-
- if (string_to_number(port, 0, 65535, &portnum) != -1 ||
- (portnum = service_to_port(port, "udp")) != -1)
- return (u_int16_t)portnum;
-
- exit_error(PARAMETER_PROBLEM,
- "invalid UDP port/service `%s' specified", port);
- }
-
static void
parse_udp_ports(const char *portstring, u_int16_t *ports)
{
@@ -51,13 +38,13 @@ parse_udp_ports(const char *portstring, u_int16_t *ports)
buffer = strdup(portstring);
if ((cp = strchr(buffer, ':')) == NULL)
- ports[0] = ports[1] = parse_udp_port(buffer);
+ ports[0] = ports[1] = parse_port(buffer, "udp");
else {
*cp = '\0';
cp++;
- ports[0] = buffer[0] ? parse_udp_port(buffer) : 0;
- ports[1] = cp[0] ? parse_udp_port(cp) : 0xFFFF;
+ ports[0] = buffer[0] ? parse_port(buffer, "udp") : 0;
+ ports[1] = cp[0] ? parse_port(cp, "udp") : 0xFFFF;
if (ports[0] > ports[1])
exit_error(PARAMETER_PROBLEM,