Fixed a memory leak in lash. It seems that close_all was calling close()
[oweals/busybox.git] / busybox.sh
index 304ac87e7d0cc3024daf7b13fff717139c8b486f..33829808625de7912a6f1c95318e3865b32d49cf 100755 (executable)
@@ -1,3 +1,13 @@
 #!/bin/sh
-sed -n -e 's/^#define.*BB_FEATURE.*$//g;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;' \
-    -e '/^#define/{s/.*bb_//;s/$/.o/p;}' busybox.def.h
+
+RAW=` \
+    gcc -E -dM ${1:-Config.h} | \
+    sed -n -e '/^.*BB_FEATURE.*$/d;s/^#define.*\<BB_\(.*\)\>/\1.c/gp;' \
+    | tr A-Z a-z | sort
+`
+test "${RAW}" != "" ||  exit
+cd ${2:-.}
+# By running $RAW through "ls", we avoid listing
+# source files that don't exist.
+ls $RAW 2>/dev/null | tr '\n' ' '
+