diff --git a/coreutils/basename.c b/coreutils/basename.c
index 566aeeb..812a5e6 100644
--- a/coreutils/basename.c
+++ b/coreutils/basename.c
@@ -6,7 +6,6 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
-
 /* Mar 16, 2003      Manuel Novoa III   (mjn3@codepoet.org)
  *
  * Changes:
diff --git a/coreutils/fold.c b/coreutils/fold.c
index 578e5a4..1e26dde 100644
--- a/coreutils/fold.c
+++ b/coreutils/fold.c
@@ -1,5 +1,6 @@
 /* vi: set sw=4 ts=4: */
-/* fold -- wrap each input line to fit in specified width.
+/*
+ * fold -- wrap each input line to fit in specified width.
  *
  * Written by David MacKenzie, djm@gnu.ai.mit.edu.
  * Copyright (C) 91, 1995-2002 Free Software Foundation, Inc.
diff --git a/coreutils/libcoreutils/coreutils.h b/coreutils/libcoreutils/coreutils.h
index 307d033..ad102e4 100644
--- a/coreutils/libcoreutils/coreutils.h
+++ b/coreutils/libcoreutils/coreutils.h
@@ -2,7 +2,6 @@
 /*
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
-
 #ifndef COREUTILS_H
 #define COREUTILS_H 1
 
diff --git a/coreutils/libcoreutils/cp_mv_stat.c b/coreutils/libcoreutils/cp_mv_stat.c
index 5ba07ec..26c0e16 100644
--- a/coreutils/libcoreutils/cp_mv_stat.c
+++ b/coreutils/libcoreutils/cp_mv_stat.c
@@ -17,9 +17,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
  */
-
 #include "libbb.h"
 #include "coreutils.h"
 
diff --git a/coreutils/libcoreutils/getopt_mk_fifo_nod.c b/coreutils/libcoreutils/getopt_mk_fifo_nod.c
index 47375ff..dafe70e 100644
--- a/coreutils/libcoreutils/getopt_mk_fifo_nod.c
+++ b/coreutils/libcoreutils/getopt_mk_fifo_nod.c
@@ -17,9 +17,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
  */
-
 #include "libbb.h"
 #include "coreutils.h"
 
diff --git a/coreutils/mktemp.c b/coreutils/mktemp.c
index d4ff883..c041fed 100644
--- a/coreutils/mktemp.c
+++ b/coreutils/mktemp.c
@@ -2,13 +2,11 @@
 /*
  * Mini mktemp implementation for busybox
  *
- *
  * Copyright (C) 2000 by Daniel Jacobowitz
  * Written by Daniel Jacobowitz <dan@debian.org>
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
-
 /* Coreutils 6.12 man page says:
  *        mktemp [OPTION]... [TEMPLATE]
  * Create a temporary file or directory, safely, and print its name. If
diff --git a/coreutils/nohup.c b/coreutils/nohup.c
index 8a70ec4..ae136e0 100644
--- a/coreutils/nohup.c
+++ b/coreutils/nohup.c
@@ -1,5 +1,6 @@
 /* vi: set sw=4 ts=4: */
-/* nohup - invoke a utility immune to hangups.
+/*
+ * nohup - invoke a utility immune to hangups.
  *
  * Busybox version based on nohup specification at
  * http://www.opengroup.org/onlinepubs/007904975/utilities/nohup.html
diff --git a/coreutils/printf.c b/coreutils/printf.c
index 413273b..a666ff7 100644
--- a/coreutils/printf.c
+++ b/coreutils/printf.c
@@ -1,5 +1,6 @@
 /* vi: set sw=4 ts=4: */
-/* printf - format and print data
+/*
+ * printf - format and print data
  *
  * Copyright 1999 Dave Cinege
  * Portions copyright (C) 1990-1996 Free Software Foundation, Inc.
diff --git a/coreutils/realpath.c b/coreutils/realpath.c
index f9c6301..aa878fc 100644
--- a/coreutils/realpath.c
+++ b/coreutils/realpath.c
@@ -1,5 +1,6 @@
 /* vi: set sw=4 ts=4: */
-/* Mar 16, 2003      Manuel Novoa III   (mjn3@codepoet.org)
+/*
+ * Mar 16, 2003      Manuel Novoa III   (mjn3@codepoet.org)
  *
  * Now does proper error checking on output and returns a failure exit code
  * if one or more paths cannot be resolved.
diff --git a/coreutils/stty.c b/coreutils/stty.c
index df23f4c..424d909 100644
--- a/coreutils/stty.c
+++ b/coreutils/stty.c
@@ -1,5 +1,6 @@
 /* vi: set sw=4 ts=4: */
-/* stty -- change and print terminal line settings
+/*
+ * stty -- change and print terminal line settings
  * Copyright (C) 1990-1999 Free Software Foundation, Inc.
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
diff --git a/coreutils/tr.c b/coreutils/tr.c
index c587243..10284e1 100644
--- a/coreutils/tr.c
+++ b/coreutils/tr.c
@@ -2,7 +2,7 @@
 /*
  * Mini tr implementation for busybox
  *
- ** Copyright (c) 1987,1997, Prentice Hall   All rights reserved.
+ * Copyright (c) 1987,1997, Prentice Hall   All rights reserved.
  *
  * The name of Prentice Hall may not be used to endorse or promote
  * products derived from this software without specific prior
diff --git a/coreutils/uname.c b/coreutils/uname.c
index bb2d1fe..57039b1 100644
--- a/coreutils/uname.c
+++ b/coreutils/uname.c
@@ -1,5 +1,6 @@
 /* vi: set sw=4 ts=4: */
-/* uname -- print system information
+/*
+ * uname -- print system information
  * Copyright (C) 1989-1999 Free Software Foundation, Inc.
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
diff --git a/coreutils/unlink.c b/coreutils/unlink.c
index 56309b1..61b108a 100644
--- a/coreutils/unlink.c
+++ b/coreutils/unlink.c
@@ -1,5 +1,6 @@
 /* vi: set sw=4 ts=4: */
-/* unlink for busybox
+/*
+ * unlink for busybox
  *
  * Copyright (C) 2014 Isaac Dunham <ibid.ag@gmail.com>
  *
diff --git a/coreutils/who.c b/coreutils/who.c
index cfe0c92..80226c3 100644
--- a/coreutils/who.c
+++ b/coreutils/who.c
@@ -1,5 +1,5 @@
 /* vi: set sw=4 ts=4: */
-/*----------------------------------------------------------------------
+/*
  * Mini who is used to display user name, login time,
  * idle time and host name.
  *
@@ -13,8 +13,6 @@
  * Copyright (c) 2002 AYR Networks, Inc.
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
- *
- *----------------------------------------------------------------------
  */
 //config:config WHO
 //config:	bool "who (3.7 kb)"
diff --git a/libbb/appletlib.c b/libbb/appletlib.c
index cbca7ef..022455d 100644
--- a/libbb/appletlib.c
+++ b/libbb/appletlib.c
@@ -11,7 +11,6 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
-
 /* We are trying to not use printf, this benefits the case when selected
  * applets are really simple. Example:
  *
diff --git a/networking/ifconfig.c b/networking/ifconfig.c
index d1e9c58..61d9178 100644
--- a/networking/ifconfig.c
+++ b/networking/ifconfig.c
@@ -1,18 +1,17 @@
 /* vi: set sw=4 ts=4: */
-/* ifconfig
+/*
+ * ifconfig
  *
  * Similar to the standard Unix ifconfig, but with only the necessary
  * parts for AF_INET, and without any printing of if info (for now).
  *
  * Bjorn Wesen, Axis Communications AB
  *
- *
  * Authors of the original ifconfig was:
  *              Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
-
 /*
  * Heavily modified by Manuel Novoa III       Mar 6, 2001
  *
diff --git a/networking/libiproute/ip_parse_common_args.c b/networking/libiproute/ip_parse_common_args.c
index 1a298f7..d693c54 100644
--- a/networking/libiproute/ip_parse_common_args.c
+++ b/networking/libiproute/ip_parse_common_args.c
@@ -11,7 +11,6 @@
  *
  * Rani Assaf <rani@magic.metawire.com> 980929: resolve addresses
  */
-
 #include "ip_common.h"  /* #include "libbb.h" is inside */
 #include "utils.h"
 
diff --git a/networking/libiproute/ipaddress.c b/networking/libiproute/ipaddress.c
index 36d6b65..921ecf0 100644
--- a/networking/libiproute/ipaddress.c
+++ b/networking/libiproute/ipaddress.c
@@ -7,7 +7,6 @@
  * Changes:
  * Laszlo Valko <valko@linux.karinthy.hu> 990223: address label must be zero terminated
  */
-
 #include <fnmatch.h>
 #include <net/if.h>
 #include <net/if_arp.h>
diff --git a/networking/libiproute/iproute.c b/networking/libiproute/iproute.c
index 6a41b83..e8b26cb 100644
--- a/networking/libiproute/iproute.c
+++ b/networking/libiproute/iproute.c
@@ -9,7 +9,6 @@
  * Rani Assaf <rani@magic.metawire.com> 980929: resolve addresses
  * Kunihiro Ishiguro <kunihiro@zebra.org> 001102: rtnh_ifindex was not initialized
  */
-
 #include "ip_common.h"  /* #include "libbb.h" is inside */
 #include "common_bufsiz.h"
 #include "rt_names.h"
diff --git a/networking/libiproute/iprule.c b/networking/libiproute/iprule.c
index 1bb5e75..9938b47 100644
--- a/networking/libiproute/iprule.c
+++ b/networking/libiproute/iprule.c
@@ -12,7 +12,6 @@
  * Rani Assaf <rani@magic.metawire.com> 980929: resolve addresses
  * initially integrated into busybox by Bernhard Reutner-Fischer
  */
-
 #include <netinet/in.h>
 #include <netinet/ip.h>
 #include <arpa/inet.h>
diff --git a/networking/libiproute/iptunnel.c b/networking/libiproute/iptunnel.c
index eb136e4..4002feb 100644
--- a/networking/libiproute/iptunnel.c
+++ b/networking/libiproute/iptunnel.c
@@ -10,7 +10,6 @@
  * Rani Assaf <rani@magic.metawire.com> 980930: do not allow key for ipip/sit
  * Phil Karn <karn@ka9q.ampr.org>       990408: "pmtudisc" flag
  */
-
 #include <netinet/ip.h>
 #include <net/if.h>
 #include <net/if_arp.h>
diff --git a/networking/libiproute/ll_addr.c b/networking/libiproute/ll_addr.c
index 33a54ea..afdd81f 100644
--- a/networking/libiproute/ll_addr.c
+++ b/networking/libiproute/ll_addr.c
@@ -7,14 +7,12 @@
  *
  * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
  */
-
 #include <net/if_arp.h>
 
 #include "libbb.h"
 #include "rt_names.h"
 #include "utils.h"
 
-
 const char* FAST_FUNC ll_addr_n2a(unsigned char *addr, int alen, int type, char *buf, int blen)
 {
 	int i;
diff --git a/networking/libiproute/rtm_map.c b/networking/libiproute/rtm_map.c
index c763da0..e94c99a 100644
--- a/networking/libiproute/rtm_map.c
+++ b/networking/libiproute/rtm_map.c
@@ -7,7 +7,6 @@
  *
  * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
  */
-
 #include "libbb.h"
 #include "rt_names.h"
 #include "utils.h"
@@ -44,7 +43,6 @@
 	}
 }
 
-
 int FAST_FUNC rtnl_rtntype_a2n(int *id, char *arg)
 {
 	static const char keywords[] ALIGN1 =
diff --git a/networking/libiproute/utils.c b/networking/libiproute/utils.c
index fca167a..bf053a5 100644
--- a/networking/libiproute/utils.c
+++ b/networking/libiproute/utils.c
@@ -8,7 +8,6 @@
  *
  * Rani Assaf <rani@magic.metawire.com> 980929: resolve addresses
  */
-
 #include "libbb.h"
 #include "utils.h"
 #include "inet_common.h"
diff --git a/networking/nc.c b/networking/nc.c
index f7fc974..b208f46 100644
--- a/networking/nc.c
+++ b/networking/nc.c
@@ -1,5 +1,6 @@
 /* vi: set sw=4 ts=4: */
-/* nc: mini-netcat - built from the ground up for LRP
+/*
+ * nc: mini-netcat - built from the ground up for LRP
  *
  * Copyright (C) 1998, 1999  Charles P. Wright
  * Copyright (C) 1998  Dave Cinege
diff --git a/networking/route.c b/networking/route.c
index 32789ee..6edc0f6 100644
--- a/networking/route.c
+++ b/networking/route.c
@@ -1,5 +1,6 @@
 /* vi: set sw=4 ts=4: */
-/* route
+/*
+ * route
  *
  * Similar to the standard Unix route, but with only the necessary
  * parts for AF_INET and AF_INET6
@@ -18,7 +19,6 @@
  *
  * IPV6 support added by Bart Visscher <magick@linux-fan.com>
  */
-
 /* 2004/03/09  Manuel Novoa III <mjn3@codepoet.org>
  *
  * Rewritten to fix several bugs, add additional error checking, and
diff --git a/networking/telnet.c b/networking/telnet.c
index 1f8a444..8b0df7f 100644
--- a/networking/telnet.c
+++ b/networking/telnet.c
@@ -18,7 +18,6 @@
  * <jam@ltsp.org>
  * Modified 2004/02/11 to add ability to pass the USER variable to remote host
  * by Fernando Silveira <swrh@gmx.net>
- *
  */
 //config:config TELNET
 //config:	bool "telnet (8.7 kb)"
diff --git a/networking/zcip.c b/networking/zcip.c
index 5544028..94e49ad 100644
--- a/networking/zcip.c
+++ b/networking/zcip.c
@@ -8,7 +8,6 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
-
 /*
  * ZCIP just manages the 169.254.*.* addresses.  That network is not
  * routed at the IP level, though various proxies or bridges can
