svn commit: trunk/busybox/networking
vda at busybox.net
vda at busybox.net
Mon Apr 16 23:23:33 UTC 2007
Author: vda
Date: 2007-04-16 16:23:33 -0700 (Mon, 16 Apr 2007)
New Revision: 18464
Log:
ether-wake: save a few more bytes of code
Modified:
trunk/busybox/networking/ether-wake.c
Changeset:
Modified: trunk/busybox/networking/ether-wake.c
===================================================================
--- trunk/busybox/networking/ether-wake.c 2007-04-16 23:16:37 UTC (rev 18463)
+++ trunk/busybox/networking/ether-wake.c 2007-04-16 23:23:33 UTC (rev 18464)
@@ -182,11 +182,10 @@
int ether_wake_main(int argc, char **argv)
{
const char *ifname = "eth0";
- char *pass = NULL;
+ char *pass;
unsigned flags;
unsigned char wol_passwd[6];
int wol_passwd_sz = 0;
-
int s; /* Raw socket */
int pktsize;
unsigned char outpack[1000];
@@ -195,23 +194,23 @@
struct whereto_t whereto; /* who to wake up */
/* handle misc user options */
+ opt_complementary = "=1";
flags = getopt32(argc, argv, "bi:p:", &ifname, &pass);
- if (optind == argc)
- bb_show_usage();
- if (pass)
+ if (flags & 4) /* -p */
wol_passwd_sz = get_wol_pw(pass, wol_passwd);
+ flags &= 1; /* we further interested only in -b [bcast] flag */
/* create the raw socket */
s = make_socket();
/* now that we have a raw socket we can drop root */
- xsetuid(getuid());
+ /* xsetuid(getuid()); - but save on code size... */
/* look up the dest mac address */
get_dest_addr(argv[optind], &eaddr);
/* fill out the header of the packet */
- pktsize = get_fill(outpack, &eaddr, flags & 1 /* OPT_BROADCAST */);
+ pktsize = get_fill(outpack, &eaddr, flags /* & 1 OPT_BROADCAST */);
bb_debug_dump_packet(outpack, pktsize);
@@ -249,7 +248,7 @@
bb_debug_dump_packet(outpack, pktsize);
/* This is necessary for broadcasts to work */
- if (flags & 1 /* OPT_BROADCAST */) {
+ if (flags /* & 1 OPT_BROADCAST */) {
if (setsockopt_broadcast(s) != 0)
bb_perror_msg("SO_BROADCAST");
}
More information about the busybox-cvs
mailing list