Code fuer cd - wiederhergestellt

Das gab es schonmal und Teile des Codes existierten auch noch, aber die
primaere Codestelle scheint verloren gegangen zu sein.

Change-Id: Ie0c511258b4b2498f083d09b337afbd2ff230b93
diff --git a/std/shells/magier/parsing.c b/std/shells/magier/parsing.c
index 733b38b..36baea0 100644
--- a/std/shells/magier/parsing.c
+++ b/std/shells/magier/parsing.c
@@ -71,18 +71,25 @@
   { 
     int i,j;
     i=sizeof(str);
-    while(i--)
-      if (str[i]!='-')
-      {
-        if((j = member(opts, str[i])) != -1)
-          flags |= (1 << j);
-        else
+    if(i == 1 && query_verb() == "cd")
+    {
+      flags |= CD_B;
+    }
+    else
+    {
+      while(i--)
+        if (str[i]!='-')
         {
-          flags=-1;
-          printf("Das Flag '-%c' wird von dem Befehl '%s' nicht "
-                 "unterstuetzt.\n",str[i],query_verb()||"");
+          if((j = member(opts, str[i])) != -1)
+            flags |= (1 << j);
+          else
+          {
+            flags=-1;
+            printf("Das Flag '-%c' wird von dem Befehl '%s' nicht "
+                   "unterstuetzt.\n",str[i],query_verb()||"");
+          }
         }
-      }
+    }
     return;
   }
   if (build_fn)