Fossil SCM

added a check for null document pointers in search_score that corrected search form crash

Zeugmal 2010-05-24 15:37 UTC exp-search
Commit cad393d597a2309d4b6341183f609d6750c95b66
1 file changed +3 -2
+3 -2
--- src/search.c
+++ src/search.c
@@ -106,10 +106,11 @@
106106
int score = 10;
107107
int iBonus = 0;
108108
int i, j;
109109
unsigned char seen[8];
110110
111
+ if (zDoc == 0) return 0;
111112
memset(seen, 0, sizeof(seen));
112113
for(i=0; zDoc[i]; i++){
113114
char c = zDoc[i];
114115
if( isBoundary[c&0xff] ) continue;
115116
for(j=0; j<p->nTerm; j++){
@@ -182,16 +183,16 @@
182183
int zScore;
183184
int zSrchTypeFlag;
184185
185186
Search *zSrchpat;
186187
Stmt q;
187
-
188
+
188189
zSrch = PD("search", "");
189190
zSrchType = PD("type", "");
190191
zSrchpat = search_init(zSrch);
191192
search_sql_setup(zSrchpat);
192
-
193
+
193194
login_check_credentials();
194195
195196
if( !g.okHistory ){ login_needed(); return; }
196197
197198
db_prepare(&q, "SELECT type, rid, title, content, score(content) AS score FROM "
198199
--- src/search.c
+++ src/search.c
@@ -106,10 +106,11 @@
106 int score = 10;
107 int iBonus = 0;
108 int i, j;
109 unsigned char seen[8];
110
 
111 memset(seen, 0, sizeof(seen));
112 for(i=0; zDoc[i]; i++){
113 char c = zDoc[i];
114 if( isBoundary[c&0xff] ) continue;
115 for(j=0; j<p->nTerm; j++){
@@ -182,16 +183,16 @@
182 int zScore;
183 int zSrchTypeFlag;
184
185 Search *zSrchpat;
186 Stmt q;
187
188 zSrch = PD("search", "");
189 zSrchType = PD("type", "");
190 zSrchpat = search_init(zSrch);
191 search_sql_setup(zSrchpat);
192
193 login_check_credentials();
194
195 if( !g.okHistory ){ login_needed(); return; }
196
197 db_prepare(&q, "SELECT type, rid, title, content, score(content) AS score FROM "
198
--- src/search.c
+++ src/search.c
@@ -106,10 +106,11 @@
106 int score = 10;
107 int iBonus = 0;
108 int i, j;
109 unsigned char seen[8];
110
111 if (zDoc == 0) return 0;
112 memset(seen, 0, sizeof(seen));
113 for(i=0; zDoc[i]; i++){
114 char c = zDoc[i];
115 if( isBoundary[c&0xff] ) continue;
116 for(j=0; j<p->nTerm; j++){
@@ -182,16 +183,16 @@
183 int zScore;
184 int zSrchTypeFlag;
185
186 Search *zSrchpat;
187 Stmt q;
188
189 zSrch = PD("search", "");
190 zSrchType = PD("type", "");
191 zSrchpat = search_init(zSrch);
192 search_sql_setup(zSrchpat);
193
194 login_check_credentials();
195
196 if( !g.okHistory ){ login_needed(); return; }
197
198 db_prepare(&q, "SELECT type, rid, title, content, score(content) AS score FROM "
199

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button