This is the mail archive of the gdb@sourceware.cygnus.com mailing list for the GDB project. See the GDB home page for more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
jtc> I'm trying to write some user-defined commands to traverse jtc> and/or pretty-print some of the internal data structures used in jtc> our SW. In the absense of a `switch' statement, I am using a jtc> chain of if .. else if ... else if ... else ... end statements. jtc> Unfortunately it doesn't seem to work. Stan> Try: Stan> if ($status == $TASK_READY) Stan> printf "READY " Stan> else Stan> if ($status == $TASK_DELAY) Stan> printf "DELAY " Stan> else Stan> if ($status == ($TASK_DELAY | $TASK_SUSPEND)) Stan> printf "DELAY+S " Stan> I think the else and the if each need to be on their own lines. It turns out to be something like: if ($status == $TASK_READY) printf "READY " else if ($status == $TASK_DELAY) printf "DELAY " else if ($status == ($TASK_DELAY | $TASK_SUSPEND)) printf "DELAY+S " else .... end end end Pretty ugly (IMO). It will suffice as a workaround, but I'll have to look into how difficult adding "true" else-if support will be. Would an `elif' keyword be objectionable? What are the current thoughts wrt. adding a more capable extension language for gdb scripting? --jtc -- J.T. Conklin RedBack Networks