* gdb-events.sh: Make if statements and tests
authorKeith Seitz <keiths@redhat.com>
Thu, 7 Jun 2001 19:40:55 +0000 (19:40 +0000)
committerKeith Seitz <keiths@redhat.com>
Thu, 7 Jun 2001 19:40:55 +0000 (19:40 +0000)
a little more portable.
Don't use shell's echo command to put strings containing
escaped characeters into a file -- different flavors of /bin/sh
require differnt levels of escaping. Use cat <<EOF instead.
Our internal field separator is a colon. Change all
commands which assume it is a space.

gdb/ChangeLog
gdb/gdb-events.sh

index 92cab61..7434b85 100644 (file)
@@ -1,3 +1,13 @@
+2001-06-07  Keith Seitz  <keiths@redhat.com>
+
+       * gdb-events.sh: Make if statements and tests
+       a little more portable.
+       Don't use shell's echo command to put strings containing
+       escaped characeters into a file -- different flavors of /bin/sh
+       require differnt levels of escaping. Use cat <<EOF instead.
+       Our internal field separator is a colon. Change all
+       commands which assume it is a space.
+
 2001-06-06  Mark Kettenis  <kettenis@gnu.org>
 
        * lin-lwp.c (struct lwp_info): Add member `resumed'.
index 5573766..d84a375 100755 (executable)
@@ -277,12 +277,15 @@ echo ""
 echo "#endif"
 exec 1>&2
 #../move-if-change new-gdb-events.h gdb-events.h
-if test -r gdb-events.h
+if test -r gdb-events.h
 then
+  diff -c gdb-events.h new-gdb-events.h
+  if [ $? = 1 ]
+  then
+    echo "gdb-events.h changed? cp new-gdb-events.h gdb-events.h" 1>&2
+  fi
+else
   echo "File missing? mv new-gdb-events.h gdb-events.h" 1>&2
-elif ! diff -c gdb-events.h new-gdb-events.h
-then
-  echo "gdb-events.h changed? cp new-gdb-events.h gdb-events.h" 1>&2
 fi
 
 
@@ -330,30 +333,34 @@ do
   case "${class}" in
     "*" ) continue ;;
     "?" )
-       echo ""
-       echo "int"
-       echo "${function}_event_p (${formal})"
-       echo "{"
-       echo "  return current_event_hooks->${function};"
-       echo "}"
-       echo ""
-       echo "${returntype}"
-       echo "${function}_event (${formal})"
-       echo "{"
-       echo "  return current_events->${function} (${actual});"
-       echo "}"
+cat <<EOF
+
+int
+${function}_event_p (${formal})
+{
+  return current_event_hooks->${function};
+}
+
+${returntype}
+${function}_event (${formal})
+{
+  return current_events->${function} (${actual});
+}
+EOF
        ;;
      "f" )
-       echo ""
-       echo "void"
-       echo "${function}_event (${formal})"
-       echo "{"
-       echo "  if (gdb_events_debug)"
-       echo "    fprintf_unfiltered (gdb_stdlog, \"${function}_event\\n\");"
-       echo "  if (!current_event_hooks->${function})"
-       echo "    return;"
-       echo "  current_event_hooks->${function} (${actual});"
-       echo "}"
+cat <<EOF
+
+void
+${function}_event (${formal})
+{
+  if (gdb_events_debug)
+    fprintf_unfiltered (gdb_stdlog, \"${function}_event\n\");
+  if (!current_event_hooks->${function})
+    return;
+  current_event_hooks->${function} (${actual});
+}
+EOF
        ;;
   esac
 done
@@ -471,7 +478,7 @@ do
       echo "{"
       echo "  struct event *event = XMALLOC (struct event);"
       echo "  event->type = ${function};"
-      for arg in `echo ${actual} | tr '[,]' '[ ]'`; do
+      for arg in `echo ${actual} | tr '[,]' '[:]' | tr -d '[ ]'`; do
         echo "  event->data.${function}.${arg} = ${arg};"
       done
       echo "  append (event);"
@@ -513,7 +520,7 @@ do
       echo "          vector->${function}"
       sep="            ("
       ass=""
-      for arg in `echo ${actual} | tr '[,]' '[ ]'`; do
+      for arg in `echo ${actual} | tr '[,]' '[:]' | tr -d '[ ]'`; do
         ass="${ass}${sep}event->data.${function}.${arg}"
        sep=",
              "
@@ -576,10 +583,13 @@ sed < new-gdb-events.c > tmp-gdb-events.c \
     -e 's/\(   \)*        /\1  /g'
 mv tmp-gdb-events.c new-gdb-events.c
 # Move if changed?
-if test -r gdb-events.c
+if test -r gdb-events.c
 then
+  diff -c gdb-events.c new-gdb-events.c
+  if [ $? = 1 ]
+  then
+    echo "gdb-events.c changed? cp new-gdb-events.c gdb-events.c" 1>&2
+  fi
+else
   echo "File missing? mv new-gdb-events.c gdb-events.c" 1>&2
-elif ! diff -c gdb-events.c new-gdb-events.c
-then
-  echo "gdb-events.c changed? cp new-gdb-events.c gdb-events.c" 1>&2
 fi