Fossil SCM
Update the shell.c file from upstream (SQLite) so that the ".databases" command works with arbitrary-length filenames.
Commit
277774b49e810b8a487f85fbeab4e312bfc728b9
Parent
070815585a1e691…
1 file changed
+5
-6
+5
-6
| --- src/shell.c | ||
| +++ src/shell.c | ||
| @@ -3702,17 +3702,16 @@ | ||
| 3702 | 3702 | if( c=='d' && n>1 && strncmp(azArg[0], "databases", n)==0 ){ |
| 3703 | 3703 | ShellState data; |
| 3704 | 3704 | char *zErrMsg = 0; |
| 3705 | 3705 | open_db(p, 0); |
| 3706 | 3706 | memcpy(&data, p, sizeof(data)); |
| 3707 | - data.showHeader = 1; | |
| 3708 | - data.cMode = data.mode = MODE_Column; | |
| 3709 | - data.colWidth[0] = 3; | |
| 3710 | - data.colWidth[1] = 0; | |
| 3711 | - data.colWidth[2] = 0; | |
| 3707 | + data.showHeader = 0; | |
| 3708 | + data.cMode = data.mode = MODE_List; | |
| 3709 | + sqlite3_snprintf(sizeof(data.colSeparator),data.colSeparator,": "); | |
| 3712 | 3710 | data.cnt = 0; |
| 3713 | - sqlite3_exec(p->db, "PRAGMA database_list; ", callback, &data, &zErrMsg); | |
| 3711 | + sqlite3_exec(p->db, "SELECT name, file FROM pragma_database_list", | |
| 3712 | + callback, &data, &zErrMsg); | |
| 3714 | 3713 | if( zErrMsg ){ |
| 3715 | 3714 | utf8_printf(stderr,"Error: %s\n", zErrMsg); |
| 3716 | 3715 | sqlite3_free(zErrMsg); |
| 3717 | 3716 | rc = 1; |
| 3718 | 3717 | } |
| 3719 | 3718 |
| --- src/shell.c | |
| +++ src/shell.c | |
| @@ -3702,17 +3702,16 @@ | |
| 3702 | if( c=='d' && n>1 && strncmp(azArg[0], "databases", n)==0 ){ |
| 3703 | ShellState data; |
| 3704 | char *zErrMsg = 0; |
| 3705 | open_db(p, 0); |
| 3706 | memcpy(&data, p, sizeof(data)); |
| 3707 | data.showHeader = 1; |
| 3708 | data.cMode = data.mode = MODE_Column; |
| 3709 | data.colWidth[0] = 3; |
| 3710 | data.colWidth[1] = 0; |
| 3711 | data.colWidth[2] = 0; |
| 3712 | data.cnt = 0; |
| 3713 | sqlite3_exec(p->db, "PRAGMA database_list; ", callback, &data, &zErrMsg); |
| 3714 | if( zErrMsg ){ |
| 3715 | utf8_printf(stderr,"Error: %s\n", zErrMsg); |
| 3716 | sqlite3_free(zErrMsg); |
| 3717 | rc = 1; |
| 3718 | } |
| 3719 |
| --- src/shell.c | |
| +++ src/shell.c | |
| @@ -3702,17 +3702,16 @@ | |
| 3702 | if( c=='d' && n>1 && strncmp(azArg[0], "databases", n)==0 ){ |
| 3703 | ShellState data; |
| 3704 | char *zErrMsg = 0; |
| 3705 | open_db(p, 0); |
| 3706 | memcpy(&data, p, sizeof(data)); |
| 3707 | data.showHeader = 0; |
| 3708 | data.cMode = data.mode = MODE_List; |
| 3709 | sqlite3_snprintf(sizeof(data.colSeparator),data.colSeparator,": "); |
| 3710 | data.cnt = 0; |
| 3711 | sqlite3_exec(p->db, "SELECT name, file FROM pragma_database_list", |
| 3712 | callback, &data, &zErrMsg); |
| 3713 | if( zErrMsg ){ |
| 3714 | utf8_printf(stderr,"Error: %s\n", zErrMsg); |
| 3715 | sqlite3_free(zErrMsg); |
| 3716 | rc = 1; |
| 3717 | } |
| 3718 |