== REDCODE ==
authorPeter Schlaile <peter@schlaile.de>
Sun, 8 Feb 2009 19:13:29 +0000 (19:13 +0000)
committerPeter Schlaile <peter@schlaile.de>
Sun, 8 Feb 2009 19:13:29 +0000 (19:13 +0000)
Fixed 64bit issues. sizeof(unsigned long) = 8 on 64 bit machines,
shame on me...

extern/libredcode/format.c
extern/libredcode/format.h

index 2406f3bb2c718c25b8afc12a78210140e5a8912b..cf8f9d5faa72c0bb8c1a6b2c496d7e6c0e0004f2 100644 (file)
@@ -4,38 +4,38 @@
 #include "format.h"
 
 struct red_reob {
-       unsigned long len;
-       unsigned long head;
+       unsigned int len;
+       unsigned int head;
 
-       unsigned long rdvo;
-       unsigned long rdvs;
-       unsigned long rdao;
-       unsigned long rdas;
+       unsigned int rdvo;
+       unsigned int rdvs;
+       unsigned int rdao;
+       unsigned int rdas;
 
-       unsigned long unknown1;
-       unsigned long unknown2;
-       unsigned long totlen;
+       unsigned int unknown1;
+       unsigned int unknown2;
+       unsigned int totlen;
        
-       unsigned long avgv;
-       unsigned long avgs;
+       unsigned int avgv;
+       unsigned int avgs;
 
-       unsigned long unknown3;
-       unsigned long unknown4;
-       unsigned long unknown5;
+       unsigned int unknown3;
+       unsigned int unknown4;
+       unsigned int unknown5;
 };
 
 struct redcode_handle {
        FILE * fp;
        struct red_reob * reob;
-        unsigned long * rdvo;
-       unsigned long * rdvs;
-       unsigned long * rdao;
-       unsigned long * rdas;
+        unsigned int * rdvo;
+       unsigned int * rdvs;
+       unsigned int * rdao;
+       unsigned int * rdas;
        long cfra;
        long length;
 };
 
-unsigned long read_be32(unsigned long val)
+unsigned int read_be32(unsigned int val)
 {
        unsigned char * v = (unsigned char*) & val;
  
@@ -44,7 +44,7 @@ unsigned long read_be32(unsigned long val)
 
 static unsigned char* read_packet(FILE * fp, char * expect)
 {
-       unsigned long len;
+       unsigned int len;
        char head[5];
        unsigned char * rv;
 
@@ -70,9 +70,9 @@ static unsigned char* read_packet(FILE * fp, char * expect)
        return rv;
 }
 
-static unsigned long * read_index_packet(FILE * fp, char * expect)
+static unsigned int * read_index_packet(FILE * fp, char * expect)
 {
-       unsigned long * rv = (unsigned long*) read_packet(fp, expect);
+       unsigned int * rv = (unsigned int*) read_packet(fp, expect);
        int i;
 
        if (!rv) {
@@ -92,14 +92,14 @@ static struct red_reob * read_reob(FILE * fp)
        return (struct red_reob *) read_index_packet(fp, "REOB");
 }
 
-static unsigned long * read_index(FILE * fp, unsigned long i, char * expect)
+static unsigned int * read_index(FILE * fp, unsigned int i, char * expect)
 {
        fseek(fp, i, SEEK_SET);
        
-       return (unsigned long*) read_index_packet(fp, expect);
+       return (unsigned int*) read_index_packet(fp, expect);
 }
 
-static unsigned char * read_data(FILE * fp, unsigned long i, char * expect)
+static unsigned char * read_data(FILE * fp, unsigned int i, char * expect)
 {
        fseek(fp, i, SEEK_SET);
        
@@ -190,7 +190,7 @@ struct redcode_frame * redcode_read_video_frame(
        rv = (struct redcode_frame*) calloc(1, sizeof(struct redcode_frame));
 
        rv->offset = 12+8;
-       rv->length = *(unsigned long*)data - rv->offset;
+       rv->length = *(unsigned int*)data - rv->offset;
        rv->data = data;
 
        return rv;
@@ -213,7 +213,7 @@ struct redcode_frame * redcode_read_audio_frame(
        rv = (struct redcode_frame*) calloc(1, sizeof(struct redcode_frame));
 
        rv->offset = 24+8;
-       rv->length = *(unsigned long*)data - rv->offset;
+       rv->length = *(unsigned int*)data - rv->offset;
        rv->data = data;
 
        return rv;
index e09ea8a3b643618ea3634f82ae9132e576f57c53..b2c6b2d885bb795f4cb4b2f0e80ec33487bb85ef 100644 (file)
@@ -3,8 +3,8 @@
 
 struct redcode_handle;
 struct redcode_frame {
-       unsigned long length;
-       unsigned long offset;
+       unsigned int length;
+       unsigned int offset;
        unsigned char * data;
 };