simplify and unconfuse target_run_algorithm()
authorDavid Brownell <dbrownell@users.sourceforge.net>
Sun, 4 Apr 2010 07:38:39 +0000 (00:38 -0700)
committerDavid Brownell <dbrownell@users.sourceforge.net>
Sun, 4 Apr 2010 07:38:39 +0000 (00:38 -0700)
commit88fcb5a9ef971e54166de7cd16a3b0be20113b82
treea82b4df0999e3d4c72b0d1a0211de47b0495bea0
parentd37a10da52bc8e6df4e3df2edd02ddbc29fe3bc4
simplify and unconfuse target_run_algorithm()

For some reason there are *two* schemes for interposing logic into
the run_algorithm() code path...  One is a standard procedural wapper
around the target method invocation.

the other (superfluous) one hacked the method table by splicing
a second procedural wrapper into the method table.  Remove it:

* Rename its  slightly-more-featureful wrapper so it becomes
  the standard procedural wrapper, leaving its added logic
  (where it should have been in the first place.

          Also add a paranoia check, to report targets that don't
  support algorithms without traversing a NULL pointer, and
  tweak its code structure a bit so it's easier to modify.

* Get rid of the superfluous/conusing method table hacks.

This is a net simplification, making it simpler to analyse what's
going on, and then interpose logic . ... by ensuring there's only one
natural place for it to live.

------------

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
src/target/target.c
src/target/target_type.h