Fossil SCM
When searching documents, always use the file name as the title in the results. In general, always prefer to use the name as the title, when non-NULL.
Commit
2d3dc9b00d736ed8d84ac909fbdebfd0d5eeeb21
Parent
e7d5fcf784eba1c…
1 file changed
+6
-7
+6
-7
| --- src/search.c | ||
| +++ src/search.c | ||
| @@ -450,19 +450,18 @@ | ||
| 450 | 450 | static void search_title_sqlfunc( |
| 451 | 451 | sqlite3_context *context, |
| 452 | 452 | int argc, |
| 453 | 453 | sqlite3_value **argv |
| 454 | 454 | ){ |
| 455 | - const char *zType = (const char*)sqlite3_value_text(argv[0]); | |
| 456 | - int rid = sqlite3_value_int(argv[1]); | |
| 457 | 455 | const char *zName = (const char*)sqlite3_value_text(argv[2]); |
| 458 | - int nHdr; | |
| 459 | - char *z = search_stext_cached(zType[0], rid, zName, &nHdr); | |
| 460 | - if( nHdr || zType[0]!='d' ){ | |
| 461 | - sqlite3_result_text(context, z, nHdr, SQLITE_TRANSIENT); | |
| 456 | + if( zName ){ | |
| 457 | + sqlite3_result_text(context, zName, -1, SQLITE_TRANSIENT); | |
| 462 | 458 | }else{ |
| 463 | - sqlite3_result_value(context, argv[2]); | |
| 459 | + const char *zType = (const char*)sqlite3_value_text(argv[0]); | |
| 460 | + int nHdr = 0, rid = sqlite3_value_int(argv[1]); | |
| 461 | + char *z = search_stext_cached(zType[0], rid, zName, &nHdr); | |
| 462 | + sqlite3_result_text(context, z, nHdr, SQLITE_TRANSIENT); | |
| 464 | 463 | } |
| 465 | 464 | } |
| 466 | 465 | static void search_body_sqlfunc( |
| 467 | 466 | sqlite3_context *context, |
| 468 | 467 | int argc, |
| 469 | 468 |
| --- src/search.c | |
| +++ src/search.c | |
| @@ -450,19 +450,18 @@ | |
| 450 | static void search_title_sqlfunc( |
| 451 | sqlite3_context *context, |
| 452 | int argc, |
| 453 | sqlite3_value **argv |
| 454 | ){ |
| 455 | const char *zType = (const char*)sqlite3_value_text(argv[0]); |
| 456 | int rid = sqlite3_value_int(argv[1]); |
| 457 | const char *zName = (const char*)sqlite3_value_text(argv[2]); |
| 458 | int nHdr; |
| 459 | char *z = search_stext_cached(zType[0], rid, zName, &nHdr); |
| 460 | if( nHdr || zType[0]!='d' ){ |
| 461 | sqlite3_result_text(context, z, nHdr, SQLITE_TRANSIENT); |
| 462 | }else{ |
| 463 | sqlite3_result_value(context, argv[2]); |
| 464 | } |
| 465 | } |
| 466 | static void search_body_sqlfunc( |
| 467 | sqlite3_context *context, |
| 468 | int argc, |
| 469 |
| --- src/search.c | |
| +++ src/search.c | |
| @@ -450,19 +450,18 @@ | |
| 450 | static void search_title_sqlfunc( |
| 451 | sqlite3_context *context, |
| 452 | int argc, |
| 453 | sqlite3_value **argv |
| 454 | ){ |
| 455 | const char *zName = (const char*)sqlite3_value_text(argv[2]); |
| 456 | if( zName ){ |
| 457 | sqlite3_result_text(context, zName, -1, SQLITE_TRANSIENT); |
| 458 | }else{ |
| 459 | const char *zType = (const char*)sqlite3_value_text(argv[0]); |
| 460 | int nHdr = 0, rid = sqlite3_value_int(argv[1]); |
| 461 | char *z = search_stext_cached(zType[0], rid, zName, &nHdr); |
| 462 | sqlite3_result_text(context, z, nHdr, SQLITE_TRANSIENT); |
| 463 | } |
| 464 | } |
| 465 | static void search_body_sqlfunc( |
| 466 | sqlite3_context *context, |
| 467 | int argc, |
| 468 |