23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
+
|
**
** The "fossil shell" command is intended for use with SEE-enabled fossil.
** It allows multiple commands to be issued without having to reenter the
** crypto phasephrase for each command.
*/
#include "config.h"
#include "fshell.h"
#include "linenoise.h"
#include <ctype.h>
#ifndef _WIN32
#include <sys/types.h>
#include <sys/wait.h>
#endif
|
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
-
+
+
+
+
-
+
|
#else
int nArg;
int mxArg = 0;
int n, i;
char **azArg = 0;
int fDebug;
pid_t childPid;
char zLine[10000];
char *zLine = 0;
fDebug = find_option("debug", 0, 0)!=0;
db_find_and_open_repository(OPEN_ANY_SCHEMA|OPEN_OK_NOT_FOUND, 0);
db_close(0);
sqlite3_shutdown();
while( (free(zLine), zLine = linenoise("fossil> ")) ){
/* Remember shell history within the current session */
linenoiseHistoryAdd(zLine);
while( printf("fossil> "),fflush(stdout),fgets(zLine, sizeof(zLine), stdin) ){
/* Parse the line of input */
n = (int)strlen(zLine);
for(i=0, nArg=1; i<n; i++){
while( fossil_isspace(zLine[i]) ){ i++; }
if( i>=n ) break;
if( nArg>=mxArg ){
mxArg = nArg+10;
|