Blame net-tools-1.60-netstat-p-basename.patch
|
|
acdcb06 |
diff -up net-tools-1.60/netstat.c.p-basename net-tools-1.60/netstat.c
|
|
|
acdcb06 |
--- net-tools-1.60/netstat.c.p-basename 2011-06-06 15:54:26.459268750 +0200
|
|
|
acdcb06 |
+++ net-tools-1.60/netstat.c 2011-06-06 15:54:47.356121769 +0200
|
|
|
acdcb06 |
@@ -415,7 +415,7 @@ static void prg_cache_load(void)
|
|
|
acdcb06 |
int procfdlen,fd,cmdllen,lnamelen;
|
|
|
acdcb06 |
char lname[30],cmdlbuf[512],finbuf[PROGNAME_WIDTH];
|
|
|
acdcb06 |
unsigned long inode;
|
|
|
acdcb06 |
- const char *cs,*cmdlp;
|
|
|
acdcb06 |
+ const char *cs,*cmdlp,*cmdlpend;
|
|
|
acdcb06 |
DIR *dirproc=NULL,*dirfd=NULL;
|
|
|
acdcb06 |
struct dirent *direproc,*direfd;
|
|
|
acdcb06 |
security_context_t scon=NULL;
|
|
|
acdcb06 |
@@ -484,10 +484,12 @@ static void prg_cache_load(void)
|
|
|
acdcb06 |
continue;
|
|
|
acdcb06 |
if (cmdllen < sizeof(cmdlbuf) - 1)
|
|
|
acdcb06 |
cmdlbuf[cmdllen]='\0';
|
|
|
acdcb06 |
- if ((cmdlp = strrchr(cmdlbuf, '/')))
|
|
|
acdcb06 |
+ if (cmdlbuf[0] == '/' && (cmdlp = strrchr(cmdlbuf, '/')))
|
|
|
acdcb06 |
cmdlp++;
|
|
|
acdcb06 |
else
|
|
|
acdcb06 |
cmdlp = cmdlbuf;
|
|
|
acdcb06 |
+ if (cmdlpend = strrchr(cmdlp, ':'))
|
|
|
acdcb06 |
+ cmdlpend = '\0';
|
|
|
acdcb06 |
}
|
|
|
acdcb06 |
|
|
|
acdcb06 |
snprintf(finbuf, sizeof(finbuf), "%s/%s", direproc->d_name, cmdlp);
|