--- spam.module.orig	2007-12-02 23:30:11.000000000 +0100
+++ spam.module	2007-12-14 10:52:11.485957685 +0100
@@ -438,7 +438,7 @@
     );
     $form['gain']["gain-$counter"] = array(
       '#type' => 'select',
-      '#options' => drupal_map_assoc(range(0, 200, 10)),
+      '#options' => drupal_map_assoc(php4range(0, 200, 10)),
       '#default_value' => $filter->gain,
     );
     $form['weight']["weight-$counter"] = array(
@@ -569,7 +569,7 @@
     '#collapsible' => TRUE,
     '#collapsed' => TRUE,
   );
-  $options = drupal_map_assoc(range(10, 40, 10)) + drupal_map_assoc(range(45, 70, 5)) + drupal_map_assoc(range(72, 88, 2)) + drupal_map_assoc(range(90, 99));
+  $options = drupal_map_assoc(php4range(10, 40, 10)) + drupal_map_assoc(php4range(45, 70, 5)) + drupal_map_assoc(php4range(72, 88, 2)) + drupal_map_assoc(range(90, 99));
   $form['advanced']['spam_threshold'] = array(
     '#type' => 'select',
     '#title' => t('Spam threshold'),
@@ -582,6 +582,17 @@
 }
 
 /**
+ * php4 compatible 'range' function (with 3rd argument), until we can use native 'range()' in Drupal 7.x. NB: arguments are NOT FOOLPROOF!
+ */
+function php4range($low, $high, $step) {
+  $rng = array();
+  for ($i = $low; $i <= $high; $i+=$step) {
+    $rng[] = $i;
+  }
+  return $rng;
+}
+
+/**
  * Store general spam settings in database.
  */
 function spam_admin_settings_form_submit($form_id, $form_values) {
