summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2005-09-09 07:35:09 +0000
committerDaniel Stenberg <daniel@haxx.se>2005-09-09 07:35:09 +0000
commitacabd28efc37d6af3e695129d4d1719a7a3f6eb6 (patch)
tree54769eed04458c7bae33c357174a5b98ce822459
parent4a939ecdcd1e32bd3d77e485d137f58ba35329d8 (diff)
downloadrockbox-acabd28efc37d6af3e695129d4d1719a7a3f6eb6.tar.gz
rockbox-acabd28efc37d6af3e695129d4d1719a7a3f6eb6.zip
Removed the risk of getting a zero CRC for a valid file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7503 a1c6a512-1295-4272-9138-f99709370657
-rwxr-xr-xtools/songdb.pl12
1 files changed, 9 insertions, 3 deletions
diff --git a/tools/songdb.pl b/tools/songdb.pl
index 659457d554..dad7e10496 100755
--- a/tools/songdb.pl
+++ b/tools/songdb.pl
@@ -192,12 +192,12 @@ sub crc32 {
192 192
193 if(!$crc) { 193 if(!$crc) {
194 return 0; # fixed bad CRC when disabled! 194 return 0; # fixed bad CRC when disabled!
195 # better to set to 0 cause the rundb code will handle it better that way. 195 # The runtimedb treats a CRC zero as CRC disabled!
196 } 196 }
197 197
198 if(!open(FILE, "<$filename")) { 198 if(!open(FILE, "<$filename")) {
199 print "failed to open \"$filename\" $!\n"; 199 print "failed to open \"$filename\" $!\n";
200 return -2; 200 return 0;
201 } 201 }
202 202
203 # read $data from index $index to $buffer from the file, may return fewer 203 # read $data from index $index to $buffer from the file, may return fewer
@@ -266,8 +266,14 @@ sub crc32 {
266 # printf("%08x\n", $crc); 266 # printf("%08x\n", $crc);
267 } 267 }
268 268
269 return $crc; 269 if($crc == 0) {
270 # rule out the very small risk that this actually returns a zero, as
271 # the current rockbox code assumes a zero CRC means it is disabled!
272 # TODO: fix the Rockbox code. This is just a hack.
273 return 1;
274 }
270 275
276 return $crc;
271} 277}
272 278
273sub singlefile { 279sub singlefile {