Package: didiwiki Version: 0.5-6 Severity: wishlist *** Please type your report below this line ***
The didiwiki search is case sensitive and if you search a word that is also a page name you go directly to it, without view the other results. Regards Carlo --- wiki.c.orig 2009-07-10 11:16:38.000000000 +0200 +++ wiki.c 2009-07-10 11:44:06.000000000 +0200 @@ -636,6 +636,27 @@ +static int stristr(const char *text, const char *word) +{ + while (*text++) + { + if ( toupper(*text) == toupper(*word) ) + { + const char *t = text; + const char *w = word; + + while (*t++ && *w++) + { + if ( toupper(*t) != toupper(*w) ) + break; + } + if ( !*w ) + return 1; + } + } + return 0; +} + WikiPageList** wiki_get_pages(int *n_pages, char *expr) { @@ -658,7 +679,7 @@ { /* Super Simple Search */ char *data = NULL; if ((data = file_read(namelist[n]->d_name)) != NULL) - if (strstr(data, expr) == NULL) + if (!stristr(data, expr)) if (strcmp(namelist[n]->d_name, expr) != 0) goto cleanup; } @@ -736,10 +757,6 @@ if (pages) { - for (i=0; i<n_pages; i++) - if (!strcmp(pages[i]->name, expr)) /* redirect on page name match */ - wiki_redirect(res, pages[i]->name); - wiki_show_header(res, "Search", FALSE); for (i=0; i<n_pages; i++) -- System Information: Debian Release: 5.0.2 APT prefers stable APT policy: (500, 'stable') Architecture: i386 (i686) Kernel: Linux 2.6.26-2-686 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages didiwiki depends on: ii adduser 3.110 add and remove users and groups ii libc6 2.7-18 GNU C Library: Shared libraries didiwiki recommends no packages. didiwiki suggests no packages. -- no debconf information