summaryrefslogtreecommitdiff
path: root/audio/gramofile
diff options
context:
space:
mode:
authoragc <agc@pkgsrc.org>2004-11-29 09:17:10 +0000
committeragc <agc@pkgsrc.org>2004-11-29 09:17:10 +0000
commite5ca7aa6514f150debbaf14193d7d73b944019b5 (patch)
treec5d80adcd6623a58e11fdae3e9907ce344b517c1 /audio/gramofile
parentcf3315e0a2994b4301c3c23f6c2b85857040f85d (diff)
downloadpkgsrc-e5ca7aa6514f150debbaf14193d7d73b944019b5.tar.gz
Apply a patch from Ole Hellqvist in PR 26206 to make the main
structure definition use fixed-size fields, which should go some way to fixing some problems on LP64 platforms.
Diffstat (limited to 'audio/gramofile')
-rw-r--r--audio/gramofile/distinfo3
-rw-r--r--audio/gramofile/patches/patch-ac83
2 files changed, 85 insertions, 1 deletions
diff --git a/audio/gramofile/distinfo b/audio/gramofile/distinfo
index d592316e6f3..c47bd311b33 100644
--- a/audio/gramofile/distinfo
+++ b/audio/gramofile/distinfo
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.3 2004/07/09 12:02:04 xtraeme Exp $
+$NetBSD: distinfo,v 1.4 2004/11/29 09:17:10 agc Exp $
SHA1 (gramofile-1.6.tar.gz) = 6e5365d9e04801725be694fefcff5fc10ea2f912
Size (gramofile-1.6.tar.gz) = 108596 bytes
SHA1 (patch-aa) = 0e3912dc5c5470f5ca9cb5916467af7ffa8b52fb
SHA1 (patch-ab) = cdb6ed27cb4e4f6fc91a34a12369caa2a52e94d9
+SHA1 (patch-ac) = 38094ec6a4e1e90e3d03eef5ce3f6fdb8d0621bb
diff --git a/audio/gramofile/patches/patch-ac b/audio/gramofile/patches/patch-ac
new file mode 100644
index 00000000000..b08b0cc0350
--- /dev/null
+++ b/audio/gramofile/patches/patch-ac
@@ -0,0 +1,83 @@
+$NetBSD: patch-ac,v 1.3 2004/11/29 09:17:10 agc Exp $
+
+Use fixed size fields
+
+--- fmtheaders.h.orig 2000-03-28 22:07:26.000000000 +0100
++++ fmtheaders.h 2004-11-29 09:12:19.000000000 +0000
+@@ -7,16 +7,16 @@
+
+ #define VOC_MAGIC "Creative Voice File\032"
+
+-#define DATALEN(bp) ((u_long)(bp.BlockLen[0]) | \
+- ((u_long)(bp.BlockLen[1]) << 8) | \
+- ((u_long)(bp.BlockLen[2]) << 16) )
++#define DATALEN(bp) ((u_int32_t)(bp.BlockLen[0]) | \
++ ((u_int32_t)(bp.BlockLen[1]) << 8) | \
++ ((u_int32_t)(bp.BlockLen[2]) << 16) )
+
+ typedef struct vochead
+ {
+ u_char Magic[20]; /* must be VOC_MAGIC */
+- u_short BlockOffset; /* Offset to first block from top of file */
+- u_short Version; /* VOC-file version */
+- u_short IDCode; /* complement of version + 0x1234 */
++ u_int16_t BlockOffset; /* Offset to first block from top of file */
++ u_int16_t Version; /* VOC-file version */
++ u_int16_t IDCode; /* complement of version + 0x1234 */
+ }
+ vochead;
+
+@@ -36,7 +36,7 @@
+
+ typedef struct blockT8
+ {
+- u_short TimeConstant;
++ u_int16_t TimeConstant;
+ u_char PackMethod;
+ u_char VoiceMode;
+ }
+@@ -47,7 +47,7 @@
+ u_int SamplesPerSec;
+ u_char BitsPerSample;
+ u_char Channels;
+- u_short Format;
++ u_int16_t Format;
+ u_char reserved[4];
+ }
+ blockT9;
+@@ -62,21 +62,21 @@
+ */
+ typedef struct wavhead
+ {
+- u_long main_chunk; /* 'RIFF' */
+- u_long length; /* Length of rest of file */
+- u_long chunk_type; /* 'WAVE' */
+-
+- u_long sub_chunk; /* 'fmt ' */
+- u_long sc_len; /* length of sub_chunk, =16 (rest of chunk) */
+- u_short format; /* should be 1 for PCM-code */
+- u_short modus; /* 1 Mono, 2 Stereo */
+- u_long sample_fq; /* frequence of sample */
+- u_long byte_p_sec;
+- u_short byte_p_spl; /* samplesize; 1 or 2 bytes */
+- u_short bit_p_spl; /* 8, 12 or 16 bit */
++ u_int32_t main_chunk; /* 'RIFF' */
++ u_int32_t length; /* Length of rest of file */
++ u_int32_t chunk_type; /* 'WAVE' */
++
++ u_int32_t sub_chunk; /* 'fmt ' */
++ u_int32_t sc_len; /* length of sub_chunk, =16 (rest of chunk) */
++ u_int16_t format; /* should be 1 for PCM-code */
++ u_int16_t modus; /* 1 Mono, 2 Stereo */
++ u_int32_t sample_fq; /* frequence of sample */
++ u_int32_t byte_p_sec;
++ u_int16_t byte_p_spl; /* samplesize; 1 or 2 bytes */
++ u_int16_t bit_p_spl; /* 8, 12 or 16 bit */
+
+- u_long data_chunk; /* 'data' */
+- u_long data_length; /* samplecount (lenth of rest of block?) */
++ u_int32_t data_chunk; /* 'data' */
++ u_int32_t data_length; /* samplecount (lenth of rest of block?) */
+ }
+ wavhead;
+