diff -urN crasher.orig/readline.scm crasher/readline.scm
--- crasher.orig/readline.scm	2006-01-18 15:42:05.000000000 -0600
+++ crasher/readline.scm	2006-01-18 19:44:53.000000000 -0600
@@ -30,16 +30,16 @@
   /* scheme_completion calls into scheme and returns a scheme string */
   result = scheme_completion((char *)text, status);
 
-  /* extract the c-string from the scheme string */
-  result_str = C_c_string(result);
-  if (strcmp(result_str, "") == 0) {
+  /* the scheme string is not null-terminated, so find the scheme string length */
+  sz = C_i_string_length(result);
+  size = C_num_to_int(sz);
+
+  if (size == 0) {
     return NULL;
   }
 
-  /* the scheme string is not always null-terminated at the right spot, so
-     find the scheme string length */
-  sz = C_i_string_length(result);
-  size = C_num_to_int(sz);
+  /* extract the c-string from the scheme string */
+  result_str = C_c_string(result);
 
   /* allocate memory for the copy to pass to readline and clear it */
   copy = malloc(size+1);


