mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-05 13:27:09 +02:00
35 lines
880 B
Diff
35 lines
880 B
Diff
From: Aron Xu <aron@debian.org>
|
|
Date: Mon, 13 Feb 2012 14:45:08 +0800
|
|
Subject: get sev by name
|
|
|
|
---
|
|
netcat.c | 9 ++++++++-
|
|
1 file changed, 8 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/netcat.c b/netcat.c
|
|
index d40e3a5..e0ad5c7 100644
|
|
--- a/netcat.c
|
|
+++ b/netcat.c
|
|
@@ -1193,12 +1193,19 @@ atelnet(int nfd, unsigned char *buf, unsigned int size)
|
|
void
|
|
build_ports(char *p)
|
|
{
|
|
+ struct servent *sv;
|
|
const char *errstr;
|
|
char *n;
|
|
int hi, lo, cp;
|
|
int x = 0;
|
|
|
|
- if ((n = strchr(p, '-')) != NULL) {
|
|
+ sv = getservbyname(p, uflag ? "udp" : "tcp");
|
|
+ if (sv) {
|
|
+ portlist[0] = calloc(1, PORT_MAX_LEN);
|
|
+ if (portlist[0] == NULL)
|
|
+ err(1, NULL);
|
|
+ snprintf(portlist[0], PORT_MAX_LEN, "%d", ntohs(sv->s_port));
|
|
+ } else if ((n = strchr(p, '-')) != NULL) {
|
|
*n = '\0';
|
|
n++;
|
|
|
|
--
|