made the loop variable local, since it was hosing external uses of i variable.
[feisty_meow.git] / scripts / core / functions.sh
index b5bbf95d8b08407527a27f5a124e019ba2b13ea6..7edaa007b40b16e12b9075f5415a4a3a70bcc383 100644 (file)
@@ -153,65 +153,24 @@ if [ -z "$skip_all" ]; then
       local pid_finder_pattern='s/^[[:space:]]*\([0-9][0-9]*\).*$/\1/p'
     fi
 
-
-#    if [ "$OS" == "Windows_NT" ]; then
-#
-##hmmm: windows isn't implementing the user flag yet!
-##try collapsing back to the ps implementation from cygwin?
-## that would simplify things a lot, if we can get it to print the right output.
-#
-#      # windows case has some odd gyrations to get the user list.
-#      if [ ! -d c:/tmp ]; then
-#        mkdir c:/tmp
-#      fi
-#      # windows7 magical mystery tour lets us create a file c:\\tmp_pids.txt, but then it's not
-#      # really there in the root of drive c: when we look for it later.  hoping to fix that
-#      # problem by using a subdir, which also might be magical thinking from windows perspective.
-#      tmppid=c:\\tmp\\pids.txt
-#      # we have abandoned all hope of relying on ps on windows.  instead we use wmic to get full
-#      # command lines for processes.
-#      wmic /locale:ms_409 PROCESS get processid,commandline </dev/null >"$tmppid"
-#      local flag='/c'
-#      if [ ! -z "$(uname -a | grep "^MING" )" ]; then
-#        flag='//c'
-#      fi
-#      # we 'type' the file to get rid of the unicode result from wmic.
-#      # needs to be a windows format filename for 'type' to work.
-#      cmd $flag type "$tmppid" >$PID_DUMP
-#      \rm "$tmppid"
-#      local pid_finder_pattern='s/^.*[[:space:]][[:space:]]*\([0-9][0-9]*\) *\$/\1/p'
-#      local i
-#      for i in "${patterns[@]}"; do
-#        PIDS_SOUGHT+=($(cat $PID_DUMP \
-#          | grep -i "$i" \
-#          | sed -n -e "$pid_finder_pattern"))
-#      done
-#    else
-
-
-      /bin/ps $EXTRA_DOZER_FLAGS $EXTRA_UNIX_FLAGS $user_flag | tail -n +2 >$PID_DUMP
+    /bin/ps $EXTRA_DOZER_FLAGS $EXTRA_UNIX_FLAGS $user_flag | tail -n +2 >$PID_DUMP
 #echo ====
 #echo got all this stuff in the pid dump file:
 #cat $PID_DUMP
 #echo ====
 
-      # remove the first line of the file, search for the pattern the
-      # user wants to find, and just pluck the process ids out of the
-      # results.
-      local i
-      for i in "${patterns[@]}"; do
-#echo pattern is $i
-#echo phase 1: $(cat $PID_DUMP | sed -e '1d' )
-#echo phase 2: $(cat $PID_DUMP | sed -e '1d' | grep -i "$i" )
-        PIDS_SOUGHT+=($(cat $PID_DUMP \
-          | grep -i "$i" \
-          | sed -n -e "$pid_finder_pattern"))
-      done
+    # search for the pattern the user wants to find, and just pluck the process
+    # ids out of the results.
+    local i
+    for i in "${patterns[@]}"; do
+      PIDS_SOUGHT+=($(cat $PID_DUMP \
+        | grep -i "$i" \
+        | sed -n -e "$pid_finder_pattern"))
+    done
 #echo ====
 #echo pids sought list became:
 #echo "${PIDS_SOUGHT[@]}"
 #echo ====
-#####    fi
 
     if [ ${#PIDS_SOUGHT[*]} -ne 0 ]; then
       local PIDS_SOUGHT2=$(printf -- '%s\n' ${PIDS_SOUGHT[@]} | sort | uniq)
@@ -592,6 +551,30 @@ return 0
 
   ##############
 
+  # just shows a separator line for an 80 column console, or uses the first
+  # parameter as the number of columns to expect.
+  function separator()
+  {
+    count=$1; shift
+    if [ -z "$count" ]; then
+      count=79
+    fi
+    echo
+    local i
+    for ((i=0; i < $count - 1; i++)); do
+      echo -n "="
+    done
+    echo
+    echo
+  }
+  # alias for separator.
+  function sep()
+  {
+    separator $*
+  }
+
+  ##############
+
   function function_sentinel() { return 0; }
   
   if [ ! -z "$SHELL_DEBUG" ]; then echo "feisty meow function definitions done."; fi