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
fc7bc320
Commit
fc7bc320
authored
May 05, 2020
by
antirez
Browse files
Fix CRC64 initialization outside the Redis server itself.
parent
a6e55c09
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/crc64.c
View file @
fc7bc320
...
@@ -29,6 +29,7 @@
...
@@ -29,6 +29,7 @@
#include "crc64.h"
#include "crc64.h"
#include "crcspeed.h"
#include "crcspeed.h"
static
uint64_t
crc64_table
[
8
][
256
]
=
{{
0
}};
static
uint64_t
crc64_table
[
8
][
256
]
=
{{
0
}};
static
int
crc64_table_initialized
=
0
;
#define POLY UINT64_C(0xad93d23594c935a9)
#define POLY UINT64_C(0xad93d23594c935a9)
/******************** BEGIN GENERATED PYCRC FUNCTIONS ********************/
/******************** BEGIN GENERATED PYCRC FUNCTIONS ********************/
...
@@ -115,10 +116,12 @@ uint64_t _crc64(uint_fast64_t crc, const void *in_data, const uint64_t len) {
...
@@ -115,10 +116,12 @@ uint64_t _crc64(uint_fast64_t crc, const void *in_data, const uint64_t len) {
/* Initializes the 16KB lookup tables. */
/* Initializes the 16KB lookup tables. */
void
crc64_init
(
void
)
{
void
crc64_init
(
void
)
{
crcspeed64native_init
(
_crc64
,
crc64_table
);
crcspeed64native_init
(
_crc64
,
crc64_table
);
crc64_table_initialized
=
1
;
}
}
/* Compute crc64 */
/* Compute crc64 */
uint64_t
crc64
(
uint64_t
crc
,
const
unsigned
char
*
s
,
uint64_t
l
)
{
uint64_t
crc64
(
uint64_t
crc
,
const
unsigned
char
*
s
,
uint64_t
l
)
{
if
(
!
crc64_table_initialized
)
crc64_init
();
return
crcspeed64native
(
crc64_table
,
crc
,
(
void
*
)
s
,
l
);
return
crcspeed64native
(
crc64_table
,
crc
,
(
void
*
)
s
,
l
);
}
}
...
...
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