Index: trunk/src/sh_port2proc.c
===================================================================
--- trunk/src/sh_port2proc.c	(revision 296)
+++ trunk/src/sh_port2proc.c	(revision 298)
@@ -352,4 +352,5 @@
       unsigned int n, i, port, niface, inode, istatus;
       char line[512];
+      char ip_port[128];
       char iface[SH_IP_BUF];
 
@@ -363,7 +364,7 @@
 #endif
 
-	  if (5 == sscanf(line, 
-			  "%u: %s:%X %*X:%*X %X %*X:%*X %*X:%*X %*X %*d %*d %u %*s",
-			  &n, iface, &port, &istatus, &inode))
+	  if (4 == sscanf(line, 
+			  "%u: %127s %*X:%*X %X %*X:%*X %*X:%*X %*X %*d %*d %u %*s",
+			  &n, ip_port, &istatus, &inode))
 	    {
 	      struct sockaddr_in  addr4;
@@ -371,4 +372,21 @@
 	      struct sh_sockaddr  ss;
 	      
+	      char * p;
+
+	      ip_port[127] = '\0';
+
+	      p = strchr(ip_port, ':');
+
+	      if (p)
+		{
+		  *p = '\0'; ++p;
+		  port = (unsigned int) strtoul(p, NULL, 16);
+		  sl_strlcpy(iface, ip_port, sizeof(iface));
+		}
+	      else
+		{
+		  continue;
+		}
+
 	      niface = 0;
 
