19162aa
diff -up net-tools-1.60/hostname.c.hostname-short net-tools-1.60/hostname.c
19162aa
--- net-tools-1.60/hostname.c.hostname-short	2009-09-30 17:44:21.000000000 +0200
19162aa
+++ net-tools-1.60/hostname.c	2009-09-08 11:55:03.000000000 +0200
19162aa
@@ -176,11 +176,6 @@ static void showhname(char *hname, int c
19162aa
     case 'f':
19162aa
 	printf("%s\n", hp->h_name);
19162aa
 	break;
19162aa
-    case 's':
19162aa
-	if (p != NULL)
19162aa
-	    *p = '\0';
19162aa
-	printf("%s\n", hp->h_name);
19162aa
-	break;
19162aa
     default:
19162aa
     ;
19162aa
     }
19162aa
@@ -270,6 +265,7 @@ int main(int argc, char **argv)
19162aa
     char myname[MAXHOSTNAMELEN + 1] =
19162aa
     {0};
19162aa
     char *file = NULL;
19162aa
+    char *p;
19162aa
 
19162aa
     static const struct option long_options[] =
19162aa
     {
19162aa
@@ -370,7 +366,13 @@ int main(int argc, char **argv)
19162aa
 	if (!type)
19162aa
 	    printf("%s\n", myname);
19162aa
 	else
19162aa
-	    showhname(myname, type);
19162aa
+		if (type == 's') {
19162aa
+			if (p = strchr(myname, '.'))
19162aa
+				*p = '\0';
19162aa
+			printf("%s\n", myname);
19162aa
+		}
19162aa
+		else
19162aa
+			showhname(myname, type);
19162aa
 	break;
19162aa
     case 3:
19162aa
 	if (file) {