[MPlayer-cvslog] r23968 - trunk/TOOLS/checktree.sh

ivo subversion at mplayerhq.hu
Tue Jul 31 16:48:13 CEST 2007


Author: ivo
Date: Tue Jul 31 16:48:13 2007
New Revision: 23968

Log:
Much smaller command line parser

This removes all code duplication for setting and unsetting -(no)flags specified
on the command line


Modified:
   trunk/TOOLS/checktree.sh

Modified: trunk/TOOLS/checktree.sh
==============================================================================
--- trunk/TOOLS/checktree.sh	(original)
+++ trunk/TOOLS/checktree.sh	Tue Jul 31 16:48:13 2007
@@ -27,6 +27,12 @@
 
 # -----------------------------------------------------------------------------
 
+# All yes/no flags. Spaces around flagnames are important!
+
+testflags=" spaces extensions crlf tabs trailws rcsid oll charset stupid gnu \
+res "
+allflags="$testflags showcont color head svn "
+
 # Default settings
 
 _spaces=yes
@@ -141,78 +147,6 @@ for i in "$@"; do
         echo -e "If there are, -(no)svn has no effect.\n"
         exit
         ;;
-    -stupid)
-        _stupid=yes
-        ;;
-    -nostupid)
-        _stupid=no
-        ;;
-    -charset)
-        _charset=yes
-        ;;
-    -nocharset)
-        _charset=no
-        ;;
-    -oll)
-        _oll=yes
-        ;;
-    -nooll)
-        _oll=no
-        ;;
-    -svn)
-        _svn=yes
-        ;;
-    -nosvn)
-        _svn=no
-        ;;
-    -head)
-        _head=yes
-        ;;
-    -nohead)
-        _head=no
-        ;;
-    -color)
-        _color=yes
-        ;;
-    -nocolor)
-        _color=no
-        ;;
-    -spaces)
-        _spaces=yes
-        ;;
-    -nospaces)
-        _spaces=no
-        ;;
-    -extensions)
-        _extensions=yes
-        ;;
-    -noextensions)
-        _extensions=no
-        ;;
-    -crlf)
-        _crlf=yes
-        ;;
-    -nocrlf)
-        _crlf=no
-        ;;
-    -tabs)
-        _tabs=yes
-        ;;
-    -notabs)
-        _tabs=no
-        ;;
-    -trailws)
-        _trailws=yes
-        ;;
-    -notrailws)
-        _trailws=no
-        ;;
-    -rcsid)
-        _rcsid=yes
-        ;;
-    -norcsid)
-        _rcsid=no
-        ;;
     -all)
         enable_all_tests
         ;;
@@ -222,28 +156,25 @@ for i in "$@"; do
     -none)
         disable_all_tests
         ;;
-    -showcont)
-        _showcont=yes
-        ;;
-    -noshowcont)
-        _showcont=no
-        ;;
-    -gnu)
-        _gnu=yes
-        ;;
-    -nognu)
-        _gnu=no
-        ;;
-    -res)
-        _res=yes
-        ;;
-    -nores)
-        _res=no
-        ;;
     -*)
+        var=`echo X$i | sed 's/^X-//'`
+        val=yes
+        case "$var" in
+            no*)
+                var=`echo "$var" | cut -c 3-`
+                val=no
+                ;;
+        esac
+        case "$allflags" in
+            *\ $var\ *)
+                eval _$var=$val
+                ;;
+            *)
         echo "unknown option: $i" >&2
         exit 0
         ;;
+        esac
+        ;;
     *)
         _files="$_files $i"
         ;;



More information about the MPlayer-cvslog mailing list