Index: path_redirect.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/path_redirect/path_redirect.install,v
retrieving revision 1.2.2.13
diff -u -r1.2.2.13 path_redirect.install
--- path_redirect.install	27 Jan 2008 03:43:16 -0000	1.2.2.13
+++ path_redirect.install	8 Mar 2008 01:49:28 -0000
@@ -9,7 +9,7 @@
         rid int(10) NOT NULL,
         path varchar(255) NOT NULL,
         redirect varchar(255) NOT NULL,
-        query varchar(50) NOT NULL,
+        query varchar(255) NOT NULL,
         fragment varchar(50) NOT NULL,
         type int(10) NOT NULL,
         PRIMARY KEY  (path),
@@ -21,7 +21,7 @@
         rid SERIAL UNIQUE,
         path varchar(255) NOT NULL PRIMARY KEY,
         redirect varchar(255) NOT NULL,
-        query varchar(50) NOT NULL,
+        query varchar(255) NOT NULL,
         fragment varchar(50) NOT NULL,
         type smallint NOT NULL
         );");
@@ -81,12 +81,22 @@
 }
 
 /**
- * Clear the menu cache since paths have changed.
+ * Clear the menu cache since paths have changed; increase query string length.
  */
 function path_redirect_update_4() {
   cache_clear_all(NULL, 'cache_menu');
   drupal_set_message(t('Menu paths for the Path Redirect module have been updated.'));
-  return array();
+  switch ($GLOBALS['db_type']) {
+    case 'mysql':
+    case 'mysqli':
+      $ret[] = update_sql("ALTER TABLE {path_redirect} MODIFY query varchar(255) NOT NULL");
+      break;
+    case 'pgsql':
+      $ret[] = update_sql("ALTER TABLE {path_redirect} ALTER query TYPE varchar(255)");
+      break;
+  }
+  drupal_set_message(t('Database tables for the Path Redirect module have been updated.'));
+  return $ret;
 }
 
 function path_redirect_uninstall() {
Index: path_redirect.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/path_redirect/path_redirect.module,v
retrieving revision 1.3.2.29
diff -u -r1.3.2.29 path_redirect.module
--- path_redirect.module	8 Mar 2008 00:42:08 -0000	1.3.2.29
+++ path_redirect.module	8 Mar 2008 01:49:29 -0000
@@ -54,7 +54,7 @@
       path_redirect_goto($r->redirect, ($r->query ? $r->query: NULL), ($r->fragment ? $r->fragment : NULL), $r->type);
     }
   }
-  else if (url($r->redirect) == url($path)) {
+  else if ($r && url($r->redirect) == url($path)) {
     watchdog('path_redirect', t('Redirect to <code>%redirect</code> is causing an infinite loop; redirect cancelled.', array('%redirect' => $r->redirect)), WATCHDOG_WARNING, l(t('edit'), 'admin/build/path-redirect/edit/'. $r->rid));
   }
   else if ($r && variable_get('path_redirect_allow_bypass', 0) && !empty($_GET['redirect']) && $_GET['redirect'] === 'no') {
@@ -225,7 +225,7 @@
   $form['redirect']['query'] = array(
     '#type' => 'textfield',
     '#size' => 12,
-    '#maxlength' => 50,
+    '#maxlength' => 255,
     '#default_value' => $edit['query'],
   );
 
