• David Brownell's avatar
    simplify and unconfuse target_run_algorithm() · 88fcb5a9
    David Brownell authored
    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: default avatarDavid Brownell <dbrownell@users.sourceforge.net>