summaryrefslogtreecommitdiff
path: root/tools/songdb.pl
diff options
context:
space:
mode:
Diffstat (limited to 'tools/songdb.pl')
-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 {