diff src/demac/ape.c @ 2193:80d7ab8f2ec5

removed some duplicated code
author Eugene Zagidullin <e.asphyx@gmail.com>
date Wed, 28 Nov 2007 16:19:57 +0300
parents cc5e9ec110a4
children 8b3c2fe608c9
line wrap: on
line diff
--- a/src/demac/ape.c	Wed Nov 28 03:51:34 2007 +0300
+++ b/src/demac/ape.c	Wed Nov 28 16:19:57 2007 +0300
@@ -58,7 +58,7 @@
 #define TAG(name, field)  {name, offsetof(AVFormatContext, field), sizeof(((AVFormatContext *)0)->field)}
 
 
-static uint16_t get_le16(VFSFile *vfd)
+uint16_t get_le16(VFSFile *vfd)
 {
     unsigned char tmp[2];
     
@@ -66,7 +66,7 @@
     return tmp[0] | (tmp[1] << 8);
 }
 
-static uint32_t get_le32(VFSFile *vfd)
+uint32_t get_le32(VFSFile *vfd)
 {
     unsigned char tmp[4];
     
@@ -74,6 +74,15 @@
     return tmp[0] | (tmp[1] << 8) | (tmp[2] << 16) | (tmp[3] << 24);
 }
 
+uint64_t get_le64(VFSFile *vfd)
+{
+    unsigned char tmp[8];
+    
+    if(aud_vfs_fread(tmp, 1, 8, vfd) != 8) return -1;
+    return (uint64_t)tmp[0] | ((uint64_t)tmp[1] << 8) | ((uint64_t)tmp[2] << 16) | ((uint64_t)tmp[3] << 24) |
+           ((uint64_t)tmp[4] << 32) | ((uint64_t)tmp[5] << 40) | ((uint64_t)tmp[6] << 48) | ((uint64_t)tmp[7] << 56);
+}
+
 #ifdef DEBUG
 static void ape_dumpinfo(APEContext * ape_ctx)
 {