updates getting us closer to working on windows. added a highly speculative implemen...
[feisty_meow.git] / scripts / generator / wrapdoze.sh
old mode 100644 (file)
new mode 100755 (executable)
index 758fc76..d743283
@@ -4,39 +4,44 @@ source $FEISTY_MEOW_SCRIPTS/core/functions.sh
 
 function dossify_and_run_commands()
 {
+  # we only mess with the command line on windows...
+  if [ "$OS" != "Windows_NT" ]; then
+    # for non windows, just run the commands straight up.
+    $*
+    return $?
+  fi
+
   declare -a darc_commands=()
 
   for i in "$@"; do
-    # we only mess with the command line on windows.
-    if [ "$OS" == "Windows_NT" ]; then
-      if [[ "$i" =~ ^-[a-zA-z][/\"].* ]]; then
-#echo matched on our pattern for parameters
-        flag="${i:0:2}"
-        filename="$(unix_to_dos_path ${i:2})"
-
+    if [[ "$i" =~ ^-[a-zA-z][/\"].* ]]; then
+      flag="${i:0:2}"
+      filename="$(unix_to_dos_path ${i:2})"
 #echo "first two chars are $flag"
 #echo "last after that are $filename"
-#combined="$flag$filename"
-#echo combined is $combined
-      
-        darc_commands+=("$flag$filename")
-      else 
-        darc_commands+=($(unix_to_dos_path $i))
-      fi
-    else
-      darc_commands+=("$i")
+      recombined="$flag$filename"
+#echo combined flag and file is $recombined
+      darc_commands+=("$recombined")
+    else 
+      darc_commands+=($(unix_to_dos_path $i))
     fi
   done
 
-#temp!
-  echo commands are now: >>/tmp/wrapdoze.log
+  declare -a real_commands=()
   for i in "${darc_commands[@]}"; do
-    echo $i >>/tmp/wrapdoze.log
+    real_commands+=($(echo $i | sed -e 's/\\/\\\\/g'))
+  done
+
+#temp!
+  echo commands are now:
+  for i in "${real_commands[@]}"; do
+    echo -n "$i "
   done
+  echo
 #end temp
 
-  # now actually run the possibly chewed command.
-  "${darc_commands[@]}"
+  # now actually run the chewed command.
+  cmd /c "${real_commands[@]}"
 }
 
 dossify_and_run_commands "$@"