$NetBSD: patch-aa,v 1.2 1999/11/20 11:54:45 tron Exp $

--- hpwake.c.orig	Sat Nov 20 12:48:37 1999
+++ hpwake.c	Sat Nov 20 12:49:38 1999
@@ -16,6 +16,7 @@
    email: wann@server7.ik.mb.uni-siegen.de
 */
 
+#include <ctype.h>
 #include <stdio.h>
 #include <string.h>
 #include <unistd.h>
@@ -26,6 +27,8 @@
 
 u_char magicpacket[500];
 
+int get_magicpacket(unsigned char *,char *);
+int main(int,char *[]);
 
 int get_magicpacket(packet,arg)
 
@@ -42,7 +45,7 @@
 
         for (a = arg; *a; a++)
                 if (*a != ':' && !isxdigit(*a)) {
-                        fprintf(stderr, "MAC Adresse muss hexadezimal angegeben werden! [00:11:22:33:44:55]\n");
+                        fprintf(stderr, "MAC address must be given in hex! [00:11:22:33:44:55]\n");
                         exit(2);
                 }
 
@@ -50,7 +53,7 @@
                 &dstaddr[0], &dstaddr[1], &dstaddr[2], &dstaddr[3], &dstaddr[4], &dstaddr[5]);
         
         if (k != 6) {
-                fprintf(stderr, "Ungueltige MAC Adresse! [00:11:22:33:44:55]\n");
+                fprintf(stderr, "Invalid MAC address! [00:11:22:33:44:55]\n");
                 exit(2);
         }
                    
@@ -85,7 +88,7 @@
 
 
 
-main(argc,argv)
+int main(argc,argv)
 
 int argc;
 char *argv[];
@@ -98,6 +101,11 @@
         int s;
         int i;
 
+	if (argc < 2) {
+		fprintf(stderr, "Usage: %s xx:xx:xx:xx:xx:xx\n", argv[0]);
+		exit(1);
+	}
+
         packetsize = get_magicpacket(magicpacket, argv[1]);
         
         if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
@@ -111,7 +119,7 @@
         server.sin_addr.s_addr = INADDR_ANY;
         
         client.sin_family = AF_INET;
-        client.sin_port = 7777;
+        client.sin_port = 32768+666;		/* invalid port */
         client.sin_addr.s_addr = INADDR_BROADCAST;
         
         if (bind(s, (struct sockaddr *)&server, sizeof(server)) < 0)
