diff -r 97feccfc5215 -r 026a2ba0ce16 find.c --- 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; }