Fossil SCM
Add new columns "formatted" and "html" to the "helptext" virtual table.
Commit
53adb7dc6c0306f2b536c93b55e4368f41411a489bca1a89b4a44b7f2aec705c
Parent
4cf3586431a9edc…
1 file changed
+15
-1
+15
-1
| --- src/dispatch.c | ||
| +++ src/dispatch.c | ||
| @@ -1134,11 +1134,11 @@ | ||
| 1134 | 1134 | ){ |
| 1135 | 1135 | helptextVtab_vtab *pNew; |
| 1136 | 1136 | int rc; |
| 1137 | 1137 | |
| 1138 | 1138 | rc = sqlite3_declare_vtab(db, |
| 1139 | - "CREATE TABLE x(name,type,flags,helptext)" | |
| 1139 | + "CREATE TABLE x(name,type,flags,helptext,formatted,html)" | |
| 1140 | 1140 | ); |
| 1141 | 1141 | if( rc==SQLITE_OK ){ |
| 1142 | 1142 | pNew = sqlite3_malloc( sizeof(*pNew) ); |
| 1143 | 1143 | *ppVtab = (sqlite3_vtab*)pNew; |
| 1144 | 1144 | if( pNew==0 ) return SQLITE_NOMEM; |
| @@ -1218,10 +1218,24 @@ | ||
| 1218 | 1218 | sqlite3_result_int(ctx, pPage->eCmdFlags); |
| 1219 | 1219 | break; |
| 1220 | 1220 | case 3: /* helptext */ |
| 1221 | 1221 | sqlite3_result_text(ctx, pPage->zHelp, -1, SQLITE_STATIC); |
| 1222 | 1222 | break; |
| 1223 | + case 4: { /* formatted */ | |
| 1224 | + Blob txt; | |
| 1225 | + blob_init(&txt, 0, 0); | |
| 1226 | + help_to_text(pPage->zHelp, &txt); | |
| 1227 | + sqlite3_result_text(ctx, blob_str(&txt), -1, fossil_free); | |
| 1228 | + break; | |
| 1229 | + } | |
| 1230 | + case 5: { /* formatted */ | |
| 1231 | + Blob txt; | |
| 1232 | + blob_init(&txt, 0, 0); | |
| 1233 | + help_to_html(pPage->zHelp, &txt); | |
| 1234 | + sqlite3_result_text(ctx, blob_str(&txt), -1, fossil_free); | |
| 1235 | + break; | |
| 1236 | + } | |
| 1223 | 1237 | } |
| 1224 | 1238 | return SQLITE_OK; |
| 1225 | 1239 | } |
| 1226 | 1240 | |
| 1227 | 1241 | /* |
| 1228 | 1242 |
| --- src/dispatch.c | |
| +++ src/dispatch.c | |
| @@ -1134,11 +1134,11 @@ | |
| 1134 | ){ |
| 1135 | helptextVtab_vtab *pNew; |
| 1136 | int rc; |
| 1137 | |
| 1138 | rc = sqlite3_declare_vtab(db, |
| 1139 | "CREATE TABLE x(name,type,flags,helptext)" |
| 1140 | ); |
| 1141 | if( rc==SQLITE_OK ){ |
| 1142 | pNew = sqlite3_malloc( sizeof(*pNew) ); |
| 1143 | *ppVtab = (sqlite3_vtab*)pNew; |
| 1144 | if( pNew==0 ) return SQLITE_NOMEM; |
| @@ -1218,10 +1218,24 @@ | |
| 1218 | sqlite3_result_int(ctx, pPage->eCmdFlags); |
| 1219 | break; |
| 1220 | case 3: /* helptext */ |
| 1221 | sqlite3_result_text(ctx, pPage->zHelp, -1, SQLITE_STATIC); |
| 1222 | break; |
| 1223 | } |
| 1224 | return SQLITE_OK; |
| 1225 | } |
| 1226 | |
| 1227 | /* |
| 1228 |
| --- src/dispatch.c | |
| +++ src/dispatch.c | |
| @@ -1134,11 +1134,11 @@ | |
| 1134 | ){ |
| 1135 | helptextVtab_vtab *pNew; |
| 1136 | int rc; |
| 1137 | |
| 1138 | rc = sqlite3_declare_vtab(db, |
| 1139 | "CREATE TABLE x(name,type,flags,helptext,formatted,html)" |
| 1140 | ); |
| 1141 | if( rc==SQLITE_OK ){ |
| 1142 | pNew = sqlite3_malloc( sizeof(*pNew) ); |
| 1143 | *ppVtab = (sqlite3_vtab*)pNew; |
| 1144 | if( pNew==0 ) return SQLITE_NOMEM; |
| @@ -1218,10 +1218,24 @@ | |
| 1218 | sqlite3_result_int(ctx, pPage->eCmdFlags); |
| 1219 | break; |
| 1220 | case 3: /* helptext */ |
| 1221 | sqlite3_result_text(ctx, pPage->zHelp, -1, SQLITE_STATIC); |
| 1222 | break; |
| 1223 | case 4: { /* formatted */ |
| 1224 | Blob txt; |
| 1225 | blob_init(&txt, 0, 0); |
| 1226 | help_to_text(pPage->zHelp, &txt); |
| 1227 | sqlite3_result_text(ctx, blob_str(&txt), -1, fossil_free); |
| 1228 | break; |
| 1229 | } |
| 1230 | case 5: { /* formatted */ |
| 1231 | Blob txt; |
| 1232 | blob_init(&txt, 0, 0); |
| 1233 | help_to_html(pPage->zHelp, &txt); |
| 1234 | sqlite3_result_text(ctx, blob_str(&txt), -1, fossil_free); |
| 1235 | break; |
| 1236 | } |
| 1237 | } |
| 1238 | return SQLITE_OK; |
| 1239 | } |
| 1240 | |
| 1241 | /* |
| 1242 |