--- /dev/null
+diff -Nur etherwake-1.09/ether-wake.c etherwake-1.09_new/ether-wake.c
+--- etherwake-1.09/ether-wake.c 2005-07-10 18:44:25.000000000 +0000
++++ etherwake-1.09_new/ether-wake.c 2015-04-05 12:22:20.157004547 +0000
+@@ -131,7 +131,7 @@
+ case 'D': debug++; break;
+ case 'i': ifname = optarg; break;
+ case 'p': get_wol_pw(optarg); break;
+- case 'u': printf(usage_msg); return 0;
++ case 'u': printf("%s",usage_msg); return 0;
+ case 'v': verbose++; break;
+ case 'V': do_version++; break;
+ case '?':
+@@ -140,7 +140,7 @@
+ if (verbose || do_version)
+ printf("%s\n", version_msg);
+ if (errflag) {
+- fprintf(stderr, brief_usage_msg);
++ fprintf(stderr,"%s", brief_usage_msg);
+ return 3;
+ }
+
+@@ -181,7 +181,7 @@
+ The code to retrieve the local station address is Linux specific. */
+ if (! opt_no_src_addr) {
+ struct ifreq if_hwaddr;
+- unsigned char *hwaddr = if_hwaddr.ifr_hwaddr.sa_data;
++ const char *hwaddr = if_hwaddr.ifr_hwaddr.sa_data;
+
+ strcpy(if_hwaddr.ifr_name, ifname);
+ if (ioctl(s, SIOCGIFHWADDR, &if_hwaddr) < 0) {