OSDN Git Service

64bit環境だと変換できない問題に対応
authorNaoya Takamura <ntaka206@users.sourceforge.jp>
Thu, 16 Oct 2014 01:52:49 +0000 (10:52 +0900)
committerNaoya Takamura <ntaka206@users.sourceforge.jp>
Thu, 16 Oct 2014 01:52:49 +0000 (10:52 +0900)
longを使っていたのをint32_tに変更した

decode_sci.c

index 4b191a3..a5c802d 100644 (file)
@@ -52,7 +52,7 @@ typedef struct _recdata_head_t        recdata_head;
        Little Endian
        3byte -> signed long(4byte)
 */
-static long b3_to_long32(unsigned char *ptr)
+static int32_t b3_to_long32(unsigned char *ptr)
 {
        char    buf[4];
        
@@ -64,7 +64,7 @@ static long b3_to_long32(unsigned char *ptr)
        } else {
                buf[3] = 0;
        }
-       return *((long*)buf);
+       return *((int32_t*)buf);
 }
 
 /*
@@ -90,7 +90,7 @@ static void read_high(FILE *fp)
                for(j = 0; j < d.freq; j++) {
                        fprintf(stdout, "%02d:%02d:%02d.%03d", d.hour, d.min, d.sec, (1000*j/d.freq));
                        for(ch = 0; ch < AD_CH; ch++) {
-                               fprintf(stdout, ",%+07ld", b3_to_long32((char*)(data + ch*d.freq*AD_BYTES + j*AD_BYTES)));
+                               fprintf(stdout, ",%+07d", b3_to_long32((char*)(data + ch*d.freq*AD_BYTES + j*AD_BYTES)));
                        }
                        fprintf(stdout, "\n");
                }