]> gitweb.factorcode.org Git - factor.git/commitdiff
don't try id3 files with size 0
authorDoug Coleman <doug.coleman@gmail.com>
Mon, 2 Mar 2009 18:05:36 +0000 (12:05 -0600)
committerDoug Coleman <doug.coleman@gmail.com>
Mon, 2 Mar 2009 18:05:36 +0000 (12:05 -0600)
extra/id3/id3.factor

index f01c4003388a8a93fbbc7e64a403101db1b555b1..5a4cd961b5fc165606301bd65b784f7bb87b58b3 100644 (file)
@@ -5,7 +5,7 @@ strings kernel math io.mmap io.mmap.uchar accessors syntax
 combinators math.ranges unicode.categories byte-arrays
 io.encodings.string io.encodings.utf16 assocs math.parser
 combinators.short-circuit fry namespaces combinators.smart
-splitting io.encodings.ascii arrays ;
+splitting io.encodings.ascii arrays io.files.info ;
 IN: id3
 
 <PRIVATE
@@ -179,7 +179,7 @@ PRIVATE>
 
 : id3-frame ( id3 key -- value/f ) [ ] frame-named ; inline
 
-: file-id3-tags ( path -- id3v2-info/f )
+: (file-id3-tags) ( path -- id3v2-info/f )
     [
         {
             { [ dup id3v2? ] [ read-v2-tag-data ] }
@@ -187,3 +187,6 @@ PRIVATE>
             [ drop f ]
         } cond
     ] with-mapped-uchar-file ;
+
+: file-id3-tags ( path -- id3v2-info/f )
+    dup file-info size>> 0 <= [ drop f ] [ (file-id3-tags) ] if ;