Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
ca36b4ab
Commit
ca36b4ab
authored
Mar 06, 2011
by
Pieter Noordhuis
Browse files
Only save history when stdin is a tty (issue #465)
parent
d9fac6c0
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/redis-cli.c
View file @
ca36b4ab
...
...
@@ -62,7 +62,6 @@ static struct config {
int
pubsub_mode
;
int
stdinarg
;
/* get last arg from stdin. (-x option) */
char
*
auth
;
char
*
historyfile
;
int
raw_output
;
/* output mode per command */
sds
mb_delim
;
}
config
;
...
...
@@ -609,18 +608,31 @@ static char **convertToSds(int count, char** args) {
#define LINE_BUFLEN 4096
static
void
repl
()
{
int
argc
,
j
;
sds
historyfile
=
NULL
;
int
history
=
0
;
char
*
line
;
int
argc
;
sds
*
argv
;
config
.
interactive
=
1
;
linenoiseSetCompletionCallback
(
completionCallback
);
/* Only use history when stdin is a tty. */
if
(
isatty
(
fileno
(
stdin
)))
{
history
=
1
;
if
(
getenv
(
"HOME"
)
!=
NULL
)
{
historyfile
=
sdscatprintf
(
sdsempty
(),
"%s/.rediscli_history"
,
getenv
(
"HOME"
));
linenoiseHistoryLoad
(
historyfile
);
}
}
while
((
line
=
linenoise
(
context
?
"redis> "
:
"not connected> "
))
!=
NULL
)
{
if
(
line
[
0
]
!=
'\0'
)
{
argv
=
sdssplitargs
(
line
,
&
argc
);
linenoiseHistoryAdd
(
line
);
if
(
config
.
historyfile
)
linenoiseHistorySave
(
config
.
historyfile
);
if
(
history
)
linenoiseHistoryAdd
(
line
);
if
(
historyfile
)
linenoiseHistorySave
(
historyfile
);
if
(
argv
==
NULL
)
{
printf
(
"Invalid argument(s)
\n
"
);
continue
;
...
...
@@ -654,8 +666,7 @@ static void repl() {
}
}
/* Free the argument vector */
for
(
j
=
0
;
j
<
argc
;
j
++
)
sdsfree
(
argv
[
j
]);
while
(
argc
--
)
sdsfree
(
argv
[
argc
]);
zfree
(
argv
);
}
/* linenoise() returns malloc-ed lines like readline() */
...
...
@@ -691,17 +702,10 @@ int main(int argc, char **argv) {
config
.
pubsub_mode
=
0
;
config
.
stdinarg
=
0
;
config
.
auth
=
NULL
;
config
.
historyfile
=
NULL
;
config
.
raw_output
=
!
isatty
(
fileno
(
stdout
))
&&
(
getenv
(
"FAKETTY"
)
==
NULL
);
config
.
mb_delim
=
sdsnew
(
"
\n
"
);
cliInitHelp
();
if
(
getenv
(
"HOME"
)
!=
NULL
)
{
config
.
historyfile
=
malloc
(
256
);
snprintf
(
config
.
historyfile
,
256
,
"%s/.rediscli_history"
,
getenv
(
"HOME"
));
linenoiseHistoryLoad
(
config
.
historyfile
);
}
firstarg
=
parseOptions
(
argc
,
argv
);
argc
-=
firstarg
;
argv
+=
firstarg
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment