git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed character clipping test in --flatten
[swftools.git]
/
lib
/
q.c
diff --git
a/lib/q.c
b/lib/q.c
index
64934a6
..
1d27b42
100644
(file)
--- a/
lib/q.c
+++ b/
lib/q.c
@@
-524,13
+524,14
@@
void trie_rollback(trie_t*t)
// ------------------------------- crc32 --------------------------------------
// ------------------------------- crc32 --------------------------------------
-static unsigned int*crc32 = 0;
+static unsigned int crc32[256];
+static char crc32_initialized=0;
static void crc32_init(void)
{
int t;
static void crc32_init(void)
{
int t;
- if(crc32)
+ if(crc32_initialized)
return;
return;
- crc32= (unsigned int*)rfx_alloc(sizeof(unsigned int)*256);
+ crc32_initialized = 1;
for(t=0; t<256; t++) {
unsigned int c = t;
int s;
for(t=0; t<256; t++) {
unsigned int c = t;
int s;
@@
-643,14
+644,12
@@
char* string_escape(string_t*str)
unsigned int crc32_add_byte(unsigned int checksum, unsigned char b)
{
unsigned int crc32_add_byte(unsigned int checksum, unsigned char b)
{
- if(!crc32)
- crc32_init();
+ crc32_init();
return checksum>>8 ^ crc32[(b^checksum)&0xff];
}
unsigned int crc32_add_string(unsigned int checksum, const char*s)
{
return checksum>>8 ^ crc32[(b^checksum)&0xff];
}
unsigned int crc32_add_string(unsigned int checksum, const char*s)
{
- if(!crc32)
- crc32_init();
+ crc32_init();
if(!s)
return checksum;
while(*s) {
if(!s)
return checksum;
while(*s) {
@@
-664,8
+663,7
@@
unsigned int string_hash(const string_t*str)
{
int t;
unsigned int checksum = 0;
{
int t;
unsigned int checksum = 0;
- if(!crc32)
- crc32_init();
+ crc32_init();
for(t=0;t<str->len;t++) {
checksum = checksum>>8 ^ crc32[(str->str[t]^checksum)&0xff];
}
for(t=0;t<str->len;t++) {
checksum = checksum>>8 ^ crc32[(str->str[t]^checksum)&0xff];
}
@@
-675,8
+673,7
@@
unsigned int string_hash2(const char*str)
{
unsigned int checksum = 0;
const char*p = str;
{
unsigned int checksum = 0;
const char*p = str;
- if(!crc32)
- crc32_init();
+ crc32_init();
while(*p) {
checksum = checksum>>8 ^ crc32[(*p^checksum)&0xff];
p++;
while(*p) {
checksum = checksum>>8 ^ crc32[(*p^checksum)&0xff];
p++;