vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Mon Jun 22 
18:51:21 2015 +0300| [e051c631637b709c7f6c4b33e4af01707bbc2ac2] | committer: 
Rémi Denis-Courmont

check_headers: fix regular expression

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e051c631637b709c7f6c4b33e4af01707bbc2ac2
---

 src/check_headers |   25 +++++++++++++++++--------
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/src/check_headers b/src/check_headers
index d0b4bb7..9441035 100755
--- a/src/check_headers
+++ b/src/check_headers
@@ -5,14 +5,23 @@ cd "$(dirname "$0")" || exit $?
 
 # Look for configure #defines in public headers.
 # There are incorrect, as external users don't have our <config.h>.
-regexp="$(cat ../config.h.in | \
-       sed -n -e 's/^#undef \([[:upper:][:digit:]_]*\)$/\1/p' | \
-       grep -v 'WORDS_BIGENDIAN' | \
-       grep -v 'UNICODE' | \
-       grep -v '__LIBVLC__' | \
-       xargs | \
-    sed -e 's/ /\\\(\\s\\\|$\\\)\\\| /g')"
-regexp=" $regexp\$"
+regexp=""
+
+while read l; do
+       d=$(echo "$l" | sed -n -e 's/^#undef \([[:upper:][:digit:]_]*\)$/\1/p')
+       test -z "$d" && continue
+       test "$d" = "WORDS_BIGENDIAN" && continue
+       test "$d" = "UNICODE" && continue
+       test "$d" = "__LIBVLC__" && continue
+
+       if test -z "$regexp"; then
+               regexp="[^A-Za-z0-9_]\("
+       else
+               regexp="${regexp}\|"
+       fi
+       regexp="${regexp}${d}"
+done < ../config.h.in
+regexp="${regexp}\)\([^A-Za-z0-9_]\|\$\)"
 
 echo Looking for private defines in public headers...
 ! grep -- "$regexp" "$@" || exit $?

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to