Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
别团等shy哥发育
redis
提交
ca36b4ab
R
redis
项目概览
别团等shy哥发育
/
redis
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
redis
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ca36b4ab
编写于
3月 06, 2011
作者:
P
Pieter Noordhuis
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Only save history when stdin is a tty (issue #465)
上级
d9fac6c0
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
17 addition
and
13 deletion
+17
-13
src/redis-cli.c
src/redis-cli.c
+17
-13
未找到文件。
src/redis-cli.c
浏览文件 @
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
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录