Index: modules/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node.module,v
retrieving revision 1.496
diff -u -F^f -r1.496 node.module
--- modules/node.module	6 Jun 2005 14:07:04 -0000	1.496
+++ modules/node.module	14 Jun 2005 23:20:40 -0000
@@ -240,25 +240,28 @@ function node_get_module_name($node) {
 /**
  * Get a list of all the defined node types.
  *
+ * @param $pairs
+ *   If TRUE, return an array of node type => module name.
+ *   If FALSE (default), return a list of all node types.
  * @return
  *   A list of all node types.
  */
-function node_list() {
+function node_list($pairs = FALSE) {
   $types = array();
   foreach (module_list() as $module) {
     if (module_hook($module, 'node_name')) {
       $module_types = module_invoke($module, 'node_types');
       if (is_array($module_types)) {
         foreach ($module_types as $type) {
-          $types[] = $type;
+          $types[$type] = $module;
         }
       }
       else {
-        $types[] = $module;
+        $types[$module] = $module;
       }
     }
   }
-  return $types;
+  return $pairs ? $types : array_keys($types);
 }
 
 /**
