find.c
changeset 24 026a2ba0ce16
parent 22 0b923f95df16
--- a/find.c	Sun Sep 02 00:02:48 2007 +0200
+++ b/find.c	Sun Sep 02 14:24:10 2007 +0200
@@ -74,13 +74,17 @@
     int i,j;
     for(i=0; i < len; ++i)
     {
+        /* prepare ltrimming when finding the first newline character */
         if (def[i] == '\n')
         {
+            /* Remove spaces after the first newline */
+            for(i+=1; def[i] == ' '; ++i);
+
             /* Break */
-            memmove(def, def + i + 1 /* \n */,
+            memmove(def, def + i,
                     len - i - 1);
             def[len-i-1] = 0;
-            return len-i-2/*\n*/+1/*\0*/;
+            return len-i-1+1/*\0*/;
         }
     }
     return len;
@@ -169,8 +173,10 @@
 static const char * search_next(struct Dict *d, const char *word, const char *from)
 {
     const char *ret;
-    ret = skip_until_newline(d, from);
-    if (compare(from, word) == 0)
+    ret = skip_until_newline(d, from) + 1;
+    if (ret == (char *) 1) /* pointer at end */
+        return 0;
+    if (compare(word, ret) == 0)
         return ret;
     return 0;
 }