Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Turbo码先生
redis
提交
43385c43
R
redis
项目概览
Turbo码先生
/
redis
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
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,发现更多精彩内容 >>
提交
43385c43
编写于
9月 12, 2018
作者:
A
antirez
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
LOLWUT: wrap it into a proper command.
上级
eac2a79c
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
40 addition
and
15 deletion
+40
-15
src/Makefile
src/Makefile
+1
-1
src/lolwut.c
src/lolwut.c
+36
-13
src/server.c
src/server.c
+2
-1
src/server.h
src/server.h
+1
-0
未找到文件。
src/Makefile
浏览文件 @
43385c43
...
...
@@ -144,7 +144,7 @@ endif
REDIS_SERVER_NAME
=
redis-server
REDIS_SENTINEL_NAME
=
redis-sentinel
REDIS_SERVER_OBJ
=
adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o
REDIS_SERVER_OBJ
=
adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o
lolwut.o
REDIS_CLI_NAME
=
redis-cli
REDIS_CLI_OBJ
=
anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o anet.o ae.o crc64.o siphash.o crc16.o
REDIS_BENCHMARK_NAME
=
redis-benchmark
...
...
src/lolwut.c
浏览文件 @
43385c43
...
...
@@ -236,17 +236,40 @@ sds lwRenderCanvas(lwCanvas *canvas) {
return
text
;
}
int
main
(
void
)
{
#if 0
lwCanvas *c = lwCreateCanvas(80,80);
for (int i = 0; i < 40; i++) {
lwDrawPixel(c,i,i,1);
}
lwDrawLine(c,10,10,60,30,1);
lwDrawSquare(c,40,40,40,0.5);
lwDrawSquare(c,50,40,10,1);
#endif
lwCanvas
*
c
=
lwDrawSchotter
(
80
,
6
,
10
);
sds
rendered
=
lwRenderCanvas
(
c
);
printf
(
"%s
\n
"
,
rendered
);
/* The LOLWUT command:
*
* LOLWUT [terminal columns] [squares-per-row] [squares-per-col]
*
* By default the command uses 80 columns, 6 squares per row, 10 squares
* per column.
*/
void
lolwutCommand
(
client
*
c
)
{
long
cols
=
80
;
long
squares_per_row
=
6
;
long
squares_per_col
=
10
;
/* Parse the optional arguments if any. */
if
(
c
->
argc
>
1
&&
getLongFromObjectOrReply
(
c
,
c
->
argv
[
1
],
&
cols
,
NULL
)
!=
C_OK
)
return
;
if
(
c
->
argc
>
2
&&
getLongFromObjectOrReply
(
c
,
c
->
argv
[
2
],
&
squares_per_row
,
NULL
)
!=
C_OK
)
return
;
if
(
c
->
argc
>
3
&&
getLongFromObjectOrReply
(
c
,
c
->
argv
[
3
],
&
squares_per_col
,
NULL
)
!=
C_OK
)
return
;
if
(
cols
<
1
)
cols
=
1
;
if
(
squares_per_row
<
1
)
squares_per_row
=
1
;
if
(
squares_per_col
<
1
)
squares_per_col
=
1
;
/* Generate some computer art and reply. */
lwCanvas
*
canvas
=
lwDrawSchotter
(
cols
,
squares_per_row
,
squares_per_col
);
sds
rendered
=
lwRenderCanvas
(
canvas
);
rendered
=
sdscat
(
rendered
,
"
\n
Georg Ness - Schotter, Plotter on paper, 1968.
\n
"
);
addReplyBulkSds
(
c
,
rendered
);
lwFreeCanvas
(
canvas
);
}
src/server.c
浏览文件 @
43385c43
...
...
@@ -322,7 +322,8 @@ struct redisCommand redisCommandTable[] = {
{
"xtrim"
,
xtrimCommand
,
-
2
,
"wF"
,
0
,
NULL
,
1
,
1
,
1
,
0
,
0
},
{
"post"
,
securityWarningCommand
,
-
1
,
"lt"
,
0
,
NULL
,
0
,
0
,
0
,
0
,
0
},
{
"host:"
,
securityWarningCommand
,
-
1
,
"lt"
,
0
,
NULL
,
0
,
0
,
0
,
0
,
0
},
{
"latency"
,
latencyCommand
,
-
2
,
"aslt"
,
0
,
NULL
,
0
,
0
,
0
,
0
,
0
}
{
"latency"
,
latencyCommand
,
-
2
,
"aslt"
,
0
,
NULL
,
0
,
0
,
0
,
0
,
0
},
{
"lolwut"
,
lolwutCommand
,
-
1
,
"r"
,
0
,
NULL
,
0
,
0
,
0
,
0
,
0
}
};
/*============================ Utility functions ============================ */
...
...
src/server.h
浏览文件 @
43385c43
...
...
@@ -2109,6 +2109,7 @@ void xclaimCommand(client *c);
void
xinfoCommand
(
client
*
c
);
void
xdelCommand
(
client
*
c
);
void
xtrimCommand
(
client
*
c
);
void
lolwutCommand
(
client
*
c
);
#if defined(__GNUC__)
void
*
calloc
(
size_t
count
,
size_t
size
)
__attribute__
((
deprecated
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录