--- flexinode.module.new	Tue Sep 13 16:31:00 2005
+++ flexinode.module.old	Tue Sep 13 16:24:23 2005
@@ -777,23 +777,15 @@
 /**
  * Invoke a field hook for all field types.
  */
-function flexinode_invoke_all() {
-  $args = func_get_args();
-  $hook = array_shift($args);
-  $return = array();
+function flexinode_invoke_all($hook, $a1 = NULL, $a2 = NULL, $a3 = NULL) {
+  $result = array();
   foreach (flexinode_field_types() as $type) {
     $function = 'flexinode_field_'. $type .'_'. $hook;
     if (function_exists($function)) {
-      $result = call_user_func_array($function, $args);
-      if (is_array($result)) {
-        $return = array_merge($return, $result);
-      }
-      else if (isset($result)) {
-        $return[] = $result;
-      }
+      $result = array_merge($result, $function($a1, $a2, $a3));
     }
   }
-  return $return;
+  return $result;
 }
 
 /**
