提交 a5dce407 编写于 作者: A antirez

if /dev/urandom is not available use rand() to get a random node name

上级 35845afb
......@@ -24,12 +24,10 @@ void clusterGetRandomName(char *p) {
char *charset = "0123456789abcdef";
int j;
if (!fp) {
redisLog(REDIS_WARNING,
"Unrecovarable error: can't open /dev/urandom:%s" ,strerror(errno));
exit(1);
if (fp == NULL || fread(p,REDIS_CLUSTER_NAMELEN,1,fp) == 0) {
for (j = 0; j < REDIS_CLUSTER_NAMELEN; j++)
p[j] = rand();
}
fread(p,REDIS_CLUSTER_NAMELEN,1,fp);
for (j = 0; j < REDIS_CLUSTER_NAMELEN; j++)
p[j] = charset[p[j] & 0x0F];
fclose(fp);
......
......@@ -1233,7 +1233,7 @@ int zuiNext(zsetopsrc *op, zsetopval *val) {
if (op->type == REDIS_SET) {
iterset *it = &op->iter.set;
if (op->encoding == REDIS_ENCODING_INTSET) {
if (!intsetGet(it->is.is,it->is.ii,&val->ell))
if (!intsetGet(it->is.is,it->is.ii,(int64_t*)&val->ell))
return 0;
val->score = 1.0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册