fixed and improved the `gcc-warnings` script:
authorBernd Petrovitsch <bernd@firmix.at>
Mon, 12 Nov 2007 00:12:15 +0000 (00:12 +0000)
committerBernd Petrovitsch <bernd@firmix.at>
Mon, 12 Nov 2007 00:12:15 +0000 (00:12 +0000)
* support older gcc's (as on Debian/Sarge) as they have slightly different
  error messages
* removed superflous lines
* replaced the call of `sed` with shell built-in features fixing syntax
  errors on Debian/Sarge
* set all locale-relevant variables to "C" (just to be sure)

CHANGELOG
gcc-warnings

index da4430a..11d410c 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,5 @@
 This file states changes as of version 0.2.4:
-$Id: CHANGELOG,v 1.113 2007/11/11 23:25:29 bernd67 Exp $
+$Id: CHANGELOG,v 1.114 2007/11/12 00:12:15 bernd67 Exp $
 
 0.5.5 ---------------------------------------------------------------------
 
@@ -117,6 +117,13 @@ PATCHES and CLEANUPS by Bernd Petrovitsch <bernd@firmix.at>
 - fixed the sort order in avl_comp_ipv4_prefix(): We compare now the IPv4
   values in host byte order (and not network byte order). So the route
   list in the e.g. httpinfo plugin is now nicely sorted.
+- fixed and improved the `gcc-warnings` script:
+  * support older gcc's (as on Debian/Sarge) as they have slightly different
+    error messages
+  * removed superflous lines
+  * replaced the call of `sed` with shell built-in features fixing syntax
+    errors on Debian/Sarge
+  * set all locale-relevant variables to "C" (just to be sure)
 
 0.5.4 ---------------------------------------------------------------------
 
index 110044c..db3eea5 100644 (file)
@@ -3,11 +3,14 @@
 # We expect warning options for gcc as argumenst and return the ones which are accepted
 # by the given gcc.
 #
-# $Id: gcc-warnings,v 1.5 2007/11/04 18:45:30 bernd67 Exp $
+# $Id: gcc-warnings,v 1.6 2007/11/12 00:12:15 bernd67 Exp $
 
 set -ue
 #set -vx
 
+# make sure we do not use some locale ....
+export LANG=C LC_ALL=C LC_COLLATE=C LC_CTYPE=C LC_MESSAGES=C LC_NUMERIC=C
+
 OPTS=""
 for param; do
     case "$param" in
@@ -27,12 +30,15 @@ EOF
 parsetest() {
     while read error; do 
        case "$error" in
-       *error:\ unrecognized\ *option*)
-                                       opt="${error#*\`}"
-                                       opt="${opt%\'*}"
+       *error:\ unrecognized\ *option\ \"*)
                                        opt="${error#*\"}"
                                        opt="${opt%\"*}"
-                                       OPTS=`echo $OPTS | sed -e s/$opt//g`
+                                       OPTS="${OPTS//$opt}"
+                                       ;;
+       *error:\ unrecognized\ *option\ \`*)
+                                       opt="${error#*\`}"
+                                       opt="${opt%\'*}"
+                                       OPTS="${OPTS//$opt}"
                                        ;;
        esac
     done