diff options
author | Björn Stenberg <bjorn@haxx.se> | 2004-03-17 23:43:42 +0000 |
---|---|---|
committer | Björn Stenberg <bjorn@haxx.se> | 2004-03-17 23:43:42 +0000 |
commit | 452702dac155df9a6929ad229e778dc69c8727c4 (patch) | |
tree | 8c9cd201e03906bd0ed2219960f8057fe13a7a55 | |
parent | c5067bf5ac854f4884eeb7c92df60ebbcc303dd0 (diff) | |
download | rockbox-452702dac155df9a6929ad229e778dc69c8727c4.tar.gz rockbox-452702dac155df9a6929ad229e778dc69c8727c4.zip |
Multimedia scrambling was wrong: Checksum is for xor:ed data
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4401 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | tools/scramble.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tools/scramble.c b/tools/scramble.c index 8e3f7395a5..712f8ff728 100644 --- a/tools/scramble.c +++ b/tools/scramble.c | |||
@@ -187,14 +187,14 @@ int main (int argc, char** argv) | |||
187 | { | 187 | { |
188 | int xorlen = strlen(xorstring); | 188 | int xorlen = strlen(xorstring); |
189 | 189 | ||
190 | /* calculate checksum */ | ||
191 | for (i=0; i<slen; i++) | ||
192 | crc += outbuf[i]; | ||
193 | |||
194 | /* xor data */ | 190 | /* xor data */ |
195 | for (i=0; i<slen; i++) | 191 | for (i=0; i<slen; i++) |
196 | outbuf[i] ^= xorstring[i & (xorlen-1)]; | 192 | outbuf[i] ^= xorstring[i & (xorlen-1)]; |
197 | 193 | ||
194 | /* calculate checksum */ | ||
195 | for (i=0; i<slen; i++) | ||
196 | crc += outbuf[i]; | ||
197 | |||
198 | header[0] = header[2] = 'Z'; | 198 | header[0] = header[2] = 'Z'; |
199 | header[1] = header[3] = version; | 199 | header[1] = header[3] = version; |
200 | int2le(length, &header[4]); | 200 | int2le(length, &header[4]); |