diff -Naurp net-tools-1.60/netstat.c net-tools-1.60-new/netstat.c --- net-tools-1.60/netstat.c 2006-03-17 14:01:23.000000000 +0530 +++ net-tools-1.60-new/netstat.c 2006-03-17 13:58:47.000000000 +0530 @@ -231,7 +231,7 @@ static struct iface_cache* mycache; static struct prg_node { struct prg_node *next; - int inode; + unsigned long inode; char name[PROGNAME_WIDTH]; } *prg_hash[PRG_HASH_SIZE]; @@ -335,7 +335,7 @@ int do_if_cache_print(struct interface * return res; } -static void prg_cache_add(int inode, char *name) +static void prg_cache_add(unsigned long inode, char *name) { unsigned hi = PRG_HASHIT(inode); struct prg_node **pnp,*pn; @@ -358,7 +358,7 @@ static void prg_cache_add(int inode, cha strcpy(pn->name,name); } -static const char *prg_cache_get(int inode) +static const char *prg_cache_get(unsigned long inode) { unsigned hi=PRG_HASHIT(inode); struct prg_node *pn; @@ -1185,7 +1185,8 @@ static void unix_do_one(int nr, const ch static int has = 0; char path[MAXPATHLEN], ss_flags[32]; char *ss_proto, *ss_state, *ss_type; - int num, state, type, inode; + int num, state, type; + unsigned long inode; void *d; unsigned long refcnt, proto, flags; @@ -1195,14 +1196,14 @@ static void unix_do_one(int nr, const ch return; } path[0] = '\0'; - num = sscanf(line, "%p: %lX %lX %lX %X %X %d %s", + num = sscanf(line, "%p: %lX %lX %lX %X %X %ld %s", &d, &refcnt, &proto, &flags, &type, &state, &inode, path); if (num < 6) { fprintf(stderr, _("warning, got bogus unix line.\n")); return; } if (!(has & HAS_INODE)) - snprintf(path,sizeof(path),"%d",inode); + snprintf(path,sizeof(path),"%ld",inode); if (!flag_all) { if ((state == SS_UNCONNECTED) && (flags & SO_ACCEPTCON)) { @@ -1294,7 +1295,7 @@ static void unix_do_one(int nr, const ch printf("%-5s %-6ld %-11s %-10s %-13s ", ss_proto, refcnt, ss_flags, ss_type, ss_state); if (has & HAS_INODE) - printf("%-6d ",inode); + printf("%-6ld ",inode); else printf("- "); if (flag_prg)