summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/alsa/alsa-utils/0001-aplay-axfer-Replace-off64_t-with-off_t.patch
blob: 356c5964aecaf8ef52d2ed9e7b774683b523f4cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
From 03553ccc6284a437576349b5a3c2ed0d7d4265e1 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 15 Dec 2022 14:04:10 -0800
Subject: [PATCH] aplay,axfer: Replace off64_t with off_t

Also replace lseek64 with lseek.

_FILE_OFFSET_BITS=64 is passed to needed platforms since configure uses
AC_SYS_LARGEFILE macro. Therefore off_t is already 64-bit and lseek is
same as lseek64.

Additionally this fixes buils with latest musl where these lfs64
functions are moved out from _GNU_SOURCE and under _LARGEFILE64_SOURCE
macro alone. This makes the builds fail on 32-bit platforms even though
default off_t on musl is 64-bit always.

Upstream-Status: Submitted [https://github.com/alsa-project/alsa-utils/pull/183]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 aplay/aplay.c               | 44 ++++++++++++++++++-------------------
 axfer/container-voc.c       |  2 +-
 axfer/container.c           |  6 ++---
 axfer/container.h           |  2 +-
 axfer/test/container-test.c |  4 ++--
 axfer/test/mapper-test.c    |  2 +-
 6 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/aplay/aplay.c b/aplay/aplay.c
index 6ce7191..bd93be3 100644
--- a/aplay/aplay.c
+++ b/aplay/aplay.c
@@ -141,7 +141,7 @@ static long term_c_lflag = -1;
 static int dump_hw_params = 0;
 
 static int fd = -1;
-static off64_t pbrec_count = LLONG_MAX, fdcount;
+static off_t pbrec_count = LLONG_MAX, fdcount;
 static int vocmajor, vocminor;
 
 static char *pidfile_name = NULL;
@@ -2356,7 +2356,7 @@ static void voc_play(int fd, int ofs, char *name)
 	u_char *data, *buf;
 	char was_extended = 0, output = 0;
 	u_short *sp, repeat = 0;
-	off64_t filepos = 0;
+	off_t filepos = 0;
 
 #define COUNT(x)	nextblock -= x; in_buffer -= x; data += x
 #define COUNT1(x)	in_buffer -= x; data += x
@@ -2490,7 +2490,7 @@ static void voc_play(int fd, int ofs, char *name)
 				d_printf("Repeat loop %d times\n", repeat);
 #endif
 				if (filepos >= 0) {	/* if < 0, one seek fails, why test another */
-					if ((filepos = lseek64(fd, 0, 1)) < 0) {
+					if ((filepos = lseek(fd, 0, 1)) < 0) {
 						error(_("can't play loops; %s isn't seekable\n"), name);
 						repeat = 0;
 					} else {
@@ -2512,7 +2512,7 @@ static void voc_play(int fd, int ofs, char *name)
 					else
 						d_printf("Neverending loop\n");
 #endif
-					lseek64(fd, filepos, 0);
+					lseek(fd, filepos, 0);
 					in_buffer = 0;	/* clear the buffer */
 					goto Fill_the_buffer;
 				}
@@ -2578,9 +2578,9 @@ static void init_raw_data(void)
 }
 
 /* calculate the data count to read from/to dsp */
-static off64_t calc_count(void)
+static off_t calc_count(void)
 {
-	off64_t count;
+	off_t count;
 
 	if (timelimit == 0)
 		if (sampleslimit == 0)
@@ -2589,7 +2589,7 @@ static off64_t calc_count(void)
 			count = snd_pcm_format_size(hwparams.format, sampleslimit * hwparams.channels);
 	else {
 		count = snd_pcm_format_size(hwparams.format, hwparams.rate * hwparams.channels);
-		count *= (off64_t)timelimit;
+		count *= (off_t)timelimit;
 	}
 	return count < pbrec_count ? count : pbrec_count;
 }
@@ -2750,7 +2750,7 @@ static void begin_au(int fd, size_t cnt)
 /* closing .VOC */
 static void end_voc(int fd)
 {
-	off64_t length_seek;
+	off_t length_seek;
 	VocBlockType bt;
 	size_t cnt;
 	char dummy = 0;		/* Write a Terminator */
@@ -2770,15 +2770,15 @@ static void end_voc(int fd)
 	bt.datalen = (u_char) (cnt & 0xFF);
 	bt.datalen_m = (u_char) ((cnt & 0xFF00) >> 8);
 	bt.datalen_h = (u_char) ((cnt & 0xFF0000) >> 16);
-	if (lseek64(fd, length_seek, SEEK_SET) == length_seek)
+	if (lseek(fd, length_seek, SEEK_SET) == length_seek)
 		xwrite(fd, &bt, sizeof(VocBlockType));
 }
 
 static void end_wave(int fd)
 {				/* only close output */
 	WaveChunkHeader cd;
-	off64_t length_seek;
-	off64_t filelen;
+	off_t length_seek;
+	off_t filelen;
 	u_int rifflen;
 	
 	length_seek = sizeof(WaveHeader) +
@@ -2788,20 +2788,20 @@ static void end_wave(int fd)
 	cd.length = fdcount > 0x7fffffff ? LE_INT(0x7fffffff) : LE_INT(fdcount);
 	filelen = fdcount + 2*sizeof(WaveChunkHeader) + sizeof(WaveFmtBody) + 4;
 	rifflen = filelen > 0x7fffffff ? LE_INT(0x7fffffff) : LE_INT(filelen);
-	if (lseek64(fd, 4, SEEK_SET) == 4)
+	if (lseek(fd, 4, SEEK_SET) == 4)
 		xwrite(fd, &rifflen, 4);
-	if (lseek64(fd, length_seek, SEEK_SET) == length_seek)
+	if (lseek(fd, length_seek, SEEK_SET) == length_seek)
 		xwrite(fd, &cd, sizeof(WaveChunkHeader));
 }
 
 static void end_au(int fd)
 {				/* only close output */
 	AuHeader ah;
-	off64_t length_seek;
+	off_t length_seek;
 	
 	length_seek = (char *)&ah.data_size - (char *)&ah;
 	ah.data_size = fdcount > 0xffffffff ? 0xffffffff : BE_INT(fdcount);
-	if (lseek64(fd, length_seek, SEEK_SET) == length_seek)
+	if (lseek(fd, length_seek, SEEK_SET) == length_seek)
 		xwrite(fd, &ah.data_size, sizeof(ah.data_size));
 }
 
@@ -2828,11 +2828,11 @@ static void header(int rtype, char *name)
 
 /* playing raw data */
 
-static void playback_go(int fd, size_t loaded, off64_t count, int rtype, char *name)
+static void playback_go(int fd, size_t loaded, off_t count, int rtype, char *name)
 {
 	int l, r;
-	off64_t written = 0;
-	off64_t c;
+	off_t written = 0;
+	off_t c;
 
 	header(rtype, name);
 	set_params();
@@ -3202,7 +3202,7 @@ static void capture(char *orig_name)
 	int filecount=0;	/* number of files written */
 	char *name = orig_name;	/* current filename */
 	char namebuf[PATH_MAX+2];
-	off64_t count, rest;		/* number of bytes to capture */
+	off_t count, rest;		/* number of bytes to capture */
 	struct stat statbuf;
 
 	/* get number of bytes to capture */
@@ -3273,7 +3273,7 @@ static void capture(char *orig_name)
 		/* capture */
 		fdcount = 0;
 		while (rest > 0 && recycle_capture_file == 0 && !in_aborting) {
-			size_t c = (rest <= (off64_t)chunk_bytes) ?
+			size_t c = (rest <= (off_t)chunk_bytes) ?
 				(size_t)rest : chunk_bytes;
 			size_t f = c * 8 / bits_per_frame;
 			size_t read = pcm_read(audiobuf, f);
@@ -3314,7 +3314,7 @@ static void capture(char *orig_name)
 	} while ((file_type == FORMAT_RAW && !timelimit && !sampleslimit) || count > 0);
 }
 
-static void playbackv_go(int* fds, unsigned int channels, size_t loaded, off64_t count, int rtype, char **names)
+static void playbackv_go(int* fds, unsigned int channels, size_t loaded, off_t count, int rtype, char **names)
 {
 	int r;
 	size_t vsize;
@@ -3368,7 +3368,7 @@ static void playbackv_go(int* fds, unsigned int channels, size_t loaded, off64_t
 	}
 }
 
-static void capturev_go(int* fds, unsigned int channels, off64_t count, int rtype, char **names)
+static void capturev_go(int* fds, unsigned int channels, off_t count, int rtype, char **names)
 {
 	size_t c;
 	ssize_t r;
diff --git a/axfer/container-voc.c b/axfer/container-voc.c
index ec0cfff..5941003 100644
--- a/axfer/container-voc.c
+++ b/axfer/container-voc.c
@@ -775,7 +775,7 @@ static int write_block_terminator(struct container_context *cntr)
 static int write_data_size(struct container_context *cntr, uint64_t byte_count)
 {
 	struct builder_state *state = cntr->private_data;
-	off64_t offset;
+	off_t offset;
 	uint8_t size_field[3];
 	int err;
 
diff --git a/axfer/container.c b/axfer/container.c
index 8c88d5c..379b72f 100644
--- a/axfer/container.c
+++ b/axfer/container.c
@@ -113,11 +113,11 @@ enum container_format container_format_from_path(const char *path)
 	return CONTAINER_FORMAT_RAW;
 }
 
-int container_seek_offset(struct container_context *cntr, off64_t offset)
+int container_seek_offset(struct container_context *cntr, off_t offset)
 {
-	off64_t pos;
+	off_t pos;
 
-	pos = lseek64(cntr->fd, offset, SEEK_SET);
+	pos = lseek(cntr->fd, offset, SEEK_SET);
 	if (pos < 0)
 		return -errno;
 	if (pos != offset)
diff --git a/axfer/container.h b/axfer/container.h
index 71017a6..f6ce689 100644
--- a/axfer/container.h
+++ b/axfer/container.h
@@ -107,7 +107,7 @@ int container_recursive_read(struct container_context *cntr, void *buf,
 			     unsigned int byte_count);
 int container_recursive_write(struct container_context *cntr, void *buf,
 			      unsigned int byte_count);
-int container_seek_offset(struct container_context *cntr, off64_t offset);
+int container_seek_offset(struct container_context *cntr, off_t offset);
 
 extern const struct container_parser container_parser_riff_wave;
 extern const struct container_builder container_builder_riff_wave;
diff --git a/axfer/test/container-test.c b/axfer/test/container-test.c
index e5b62dd..45b6c6a 100644
--- a/axfer/test/container-test.c
+++ b/axfer/test/container-test.c
@@ -153,7 +153,7 @@ static int callback(struct test_generator *gen, snd_pcm_access_t access,
 
 	for (i = 0; i < ARRAY_SIZE(entries); ++i) {
 		int fd;
-		off64_t pos;
+		off_t pos;
 
 		frames_per_second = entries[i];
 
@@ -172,7 +172,7 @@ static int callback(struct test_generator *gen, snd_pcm_access_t access,
 			     frames_per_second, frame_buffer, frame_count,
 			     trial->verbose);
 
-		pos = lseek64(fd, 0, SEEK_SET);
+		pos = lseek(fd, 0, SEEK_SET);
 		if (pos < 0) {
 			err = -errno;
 			break;
diff --git a/axfer/test/mapper-test.c b/axfer/test/mapper-test.c
index 477871d..6a389e9 100644
--- a/axfer/test/mapper-test.c
+++ b/axfer/test/mapper-test.c
@@ -257,7 +257,7 @@ static int test_mapper(struct mapper_trial *trial, snd_pcm_access_t access,
 		goto end;
 
 	for (i = 0; i < cntr_count; ++i) {
-		off64_t pos = lseek64(cntr_fds[i], 0, SEEK_SET);
+		off_t pos = lseek(cntr_fds[i], 0, SEEK_SET);
 		if (pos != 0) {
 			err = -EIO;
 			goto end;