-#include "internal.h"
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
+/* vi: set sw=4 ts=4: */
+/*
+ * Licensed under GPLv2, see file LICENSE in this tarball for details.
+ */
-extern int
-length_main(int argc, char * * argv)
+/* BB_AUDIT SUSv3 N/A -- Apparently a busybox (obsolete?) extension. */
+
+#include "libbb.h"
+
+/* This is a NOFORK applet. Be very careful! */
+
+int length_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int length_main(int argc, char **argv)
{
- if ( argc != 2 || **(argv+1) == '-' ) {
- usage("length string\n");
- }
- printf("%d\n", strlen(argv[1]));
- return( TRUE);
+ if ((argc != 2) || (**(++argv) == '-')) {
+ bb_show_usage();
+ }
+
+ printf("%u\n", (unsigned)strlen(*argv));
+
+ return fflush(stdout);
}