Skip to content

Commit 81c9b44

Browse files
committed
[LIBMPG123] Update to v1.22.1. CORE-6779
svn path=/trunk/; revision=67081
1 parent 9f3f536 commit 81c9b44

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+6078
-14195
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/*
2+
mpg123lib_intern: Common non-public stuff for libmpg123
3+
4+
copyright 1995-2008 by the mpg123 project - free software under the terms of the LGPL 2.1
5+
see COPYING and AUTHORS files in distribution or http://mpg123.org
6+
7+
derived from the old mpg123.h
8+
*/
9+
10+
#ifndef MPG123_H_ABI_ALIGN
11+
#define MPG123_H_ABI_ALIGN
12+
13+
#include "config.h"
14+
15+
/* ABI conformance for other compilers.
16+
mpg123 needs 16byte-aligned stack for SSE and friends.
17+
gcc provides that, but others don't necessarily. */
18+
#ifdef ABI_ALIGN_FUN
19+
#ifndef attribute_align_arg
20+
#if defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__>1)
21+
# define attribute_align_arg __attribute__((force_align_arg_pointer))
22+
/* The gcc that can align the stack does not need the check... nor does it work with gcc 4.3+, anyway. */
23+
#else
24+
25+
# define attribute_align_arg
26+
/* Other compilers get code to catch misaligned stack.
27+
Well, except Sun Studio, which accepts the aligned attribute but does not honor it. */
28+
#if !defined(__SUNPRO_C)
29+
# define NEED_ALIGNCHECK
30+
#endif
31+
32+
#endif
33+
#endif
34+
#else
35+
#define attribute_align_arg
36+
/* We won't try the align check... */
37+
#endif
38+
39+
#endif

reactos/include/reactos/libs/libmpg123/aligncheck.h

Lines changed: 0 additions & 45 deletions
This file was deleted.

reactos/include/reactos/libs/libmpg123/compat.h

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#define MPG123_COMPAT_H
1616

1717
#include "config.h"
18+
#include "intsym.h"
1819

1920
#ifdef HAVE_STDLIB_H
2021
/* realloc, size_t */
@@ -75,14 +76,17 @@
7576
#include <sys/select.h>
7677
#endif
7778

79+
/* compat_open makes little sense without */
80+
#include <fcntl.h>
81+
7882
/* To parse big numbers... */
7983
#ifdef HAVE_ATOLL
8084
#define atobigint atoll
8185
#else
8286
#define atobigint atol
8387
#endif
8488

85-
// typedef unsigned char byte;
89+
typedef unsigned char byte;
8690

8791
/* A safe realloc also for very old systems where realloc(NULL, size) returns NULL. */
8892
void *safe_realloc(void *ptr, size_t size);
@@ -128,7 +132,7 @@ typedef long ssize_p;
128132
* @param[in] mbptr Pointer to multibyte string.
129133
* @return file descriptor (>=0) or error code.
130134
*/
131-
int compat_open(const char *filename, int mode);
135+
int compat_open(const char *filename, int flags);
132136

133137
/**
134138
* Closing a file handle can be platform specific.
@@ -152,7 +156,7 @@ int compat_close(int infd);
152156
*
153157
* WideCharToMultiByte - http://msdn.microsoft.com/en-us/library/dd374130(VS.85).aspx
154158
*/
155-
int win32_wide_utf8 (const wchar_t * const wptr, const char **const mbptr, size_t * const buflen);
159+
int win32_wide_utf8(const wchar_t * const wptr, char **mbptr, size_t * buflen);
156160

157161
/**
158162
* win32_mbc2uni
@@ -166,12 +170,20 @@ int win32_wide_utf8 (const wchar_t * const wptr, const char **const mbptr, size_
166170
* MultiByteToWideChar - http://msdn.microsoft.com/en-us/library/dd319072(VS.85).aspx
167171
*/
168172

169-
int win32_utf8_wide (const char *const mbptr, const wchar_t ** const wptr, size_t * const buflen);
173+
int win32_utf8_wide(const char *const mbptr, wchar_t **wptr, size_t *buflen);
170174
#endif
171175

172176
/* That one comes from Tellie on OS/2, needed in resolver. */
173177
#ifdef __KLIBC__
174178
typedef int socklen_t;
175179
#endif
176180

181+
/* OSX SDK defines an enum with "normal" as value. That clashes with
182+
optimize.h */
183+
#ifdef __APPLE__
184+
#define normal mpg123_normal
185+
#endif
186+
187+
#include "true.h"
188+
177189
#endif

reactos/include/reactos/libs/libmpg123/config.h

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
/* src/config.h.in. Generated from configure.ac by autoheader. */
33

44
/* Define if your architecture wants/needs/can use attribute_align_arg and
5-
alignment checks. It's for 32bit x86... */
5+
alignment checks. It is for 32bit x86... */
66
#define ABI_ALIGN_FUN 1
77

88
/* Define to use proper rounding. */
@@ -14,9 +14,6 @@
1414
/* Define if __attribute__((aligned(16))) shall be used */
1515
#define CCALIGN 1
1616

17-
/* Define if checking of stack alignment is wanted. */
18-
#define CHECK_ALIGN 1
19-
2017
/* Define if debugging is enabled. */
2118
/* #undef DEBUG */
2219

@@ -26,6 +23,9 @@
2623
/* Define if building with dynamcally linked libmpg123 */
2724
/* #undef DYNAMIC_BUILD */
2825

26+
/* Use EFBIG as substitude for EOVERFLOW, mingw.org may lack the latter */
27+
/* #undef EOVERFLOW */
28+
2929
/* Define if FIFO support is enabled. */
3030
/* #undef FIFO */
3131

@@ -117,7 +117,7 @@
117117
/* #undef HAVE_MACHINE_SOUNDCARD_H */
118118

119119
/* Define to 1 if you have the <memory.h> header file. */
120-
/* #undef HAVE_MEMORY_H */
120+
#define HAVE_MEMORY_H 1
121121

122122
/* Define to 1 if you have the `mkfifo' function. */
123123
/* #undef HAVE_MKFIFO */
@@ -189,7 +189,7 @@
189189
#define HAVE_STRERROR 1
190190

191191
/* Define to 1 if you have the <strings.h> header file. */
192-
/* #undef HAVE_STRINGS_H */
192+
#define HAVE_STRINGS_H 1
193193

194194
/* Define to 1 if you have the <string.h> header file. */
195195
#define HAVE_STRING_H 1
@@ -222,7 +222,7 @@
222222
/* #undef HAVE_SYS_SOUNDCARD_H */
223223

224224
/* Define to 1 if you have the <sys/stat.h> header file. */
225-
/* #undef HAVE_SYS_STAT_H */
225+
#define HAVE_SYS_STAT_H 1
226226

227227
/* Define to 1 if you have the <sys/time.h> header file. */
228228
#define HAVE_SYS_TIME_H 1
@@ -254,8 +254,8 @@
254254
/* Define if IPV6 support is enabled. */
255255
#define IPV6 1
256256

257-
/* Define this to the size of long type in bits, used for LFS small/native
258-
alias functions. */
257+
/* Define this to the size of native offset type in bits, used for LFS alias
258+
functions. */
259259
#define LFS_ALIAS_BITS 32
260260

261261
/* Define to the sub-directory in which libtool stores uninstalled libraries.
@@ -268,7 +268,7 @@
268268
/* Define to disable 16 bit integer output. */
269269
/* #undef NO_16BIT */
270270

271-
/* Define to disable 32 bit integer output. */
271+
/* Define to disable 32 bit and 24 bit integer output. */
272272
/* #undef NO_32BIT */
273273

274274
/* Define to disable 8 bit integer output. */
@@ -282,7 +282,7 @@
282282
/* #undef NO_ERETURN */
283283

284284
/* Define to disable error messages. */
285-
/* #undef NO_ERROR */
285+
/* #undef NO_ERRORMSG */
286286

287287
/* Define to disable feeder and buffered readers. */
288288
/* #undef NO_FEEDER */
@@ -311,6 +311,9 @@
311311
/* Define to disable string functions. */
312312
/* #undef NO_STRING */
313313

314+
/* Define for post-processed 32 bit formats. */
315+
/* #undef NO_SYNTH32 */
316+
314317
/* Define to disable warning messages. */
315318
/* #undef NO_WARNING */
316319

@@ -324,7 +327,7 @@
324327
#define PACKAGE_NAME "mpg123"
325328

326329
/* Define to the full name and version of this package. */
327-
#define PACKAGE_STRING "mpg123 1.12.3"
330+
#define PACKAGE_STRING "mpg123 1.22.1"
328331

329332
/* Define to the one symbol short name of this package. */
330333
#define PACKAGE_TARNAME "mpg123"
@@ -333,7 +336,7 @@
333336
#define PACKAGE_URL ""
334337

335338
/* Define to the version of this package. */
336-
#define PACKAGE_VERSION "1.12.3"
339+
#define PACKAGE_VERSION "1.22.1"
337340

338341
/* Define if portaudio v18 API is wanted. */
339342
/* #undef PORTAUDIO18 */
@@ -359,8 +362,17 @@
359362
/* Define if modules are enabled */
360363
/* #undef USE_MODULES */
361364

365+
/* Define for new Huffman decoding scheme. */
366+
#define USE_NEW_HUFFTABLE 1
367+
368+
/* Define to use yasm for assemble AVX sources. */
369+
/* #undef USE_YASM_FOR_AVX */
370+
362371
/* Version number of package */
363-
#define VERSION "1.12.3"
372+
#define VERSION "1.22.1"
373+
374+
/* Define to use Win32 named pipes */
375+
#define WANT_WIN32_FIFO 1
364376

365377
/* Define to use Win32 sockets */
366378
#define WANT_WIN32_SOCKETS 1
@@ -396,7 +408,7 @@
396408
/* #undef size_t */
397409

398410
/* Define to `long' if <sys/types.h> does not define. */
399-
/* #undef ssize_t */
411+
#define ssize_t long
400412

401413
/* Define to `unsigned short' if <sys/types.h> does not define. */
402414
/* #undef uint16_t */

reactos/include/reactos/libs/libmpg123/debug.h

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -97,23 +97,23 @@
9797
#endif
9898

9999
/* error macros also here... */
100-
#ifndef NO_ERROR
101-
#define error(s) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__)
102-
#define error1(s, a) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a)
103-
#define error2(s, a, b) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b)
104-
#define error3(s, a, b, c) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c)
105-
#define error4(s, a, b, c, d) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d)
106-
#define error5(s, a, b, c, d, e) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e)
107-
#define error6(s, a, b, c, d, e, f) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f)
108-
#define error7(s, a, b, c, d, e, f, g) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g)
109-
#define error8(s, a, b, c, d, e, f, g, h) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h)
110-
#define error9(s, a, b, c, d, e, f, g, h, i) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i)
111-
#define error10(s, a, b, c, d, e, f, g, h, i, j) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j)
112-
#define error11(s, a, b, c, d, e, f, g, h, i, j, k) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k)
113-
#define error12(s, a, b, c, d, e, f, g, h, i, j, k, l) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l)
114-
#define error13(s, a, b, c, d, e, f, g, h, i, j, k, l, m) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m)
115-
#define error14(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n)
116-
#define error15(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) fprintf(stderr, "[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
100+
#ifndef NO_ERRORMSG
101+
#define error(s) fprintf(stderr, "\n[" __FILE__ ":%i] error: " s "\n", __LINE__)
102+
#define error1(s, a) fprintf(stderr, "\n[" __FILE__ ":%i] error: " s "\n", __LINE__, a)
103+
#define error2(s, a, b) fprintf(stderr, "\n[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b)
104+
#define error3(s, a, b, c) fprintf(stderr, "\n[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c)
105+
#define error4(s, a, b, c, d) fprintf(stderr, "\n[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d)
106+
#define error5(s, a, b, c, d, e) fprintf(stderr, "\n[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e)
107+
#define error6(s, a, b, c, d, e, f) fprintf(stderr, "\n[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f)
108+
#define error7(s, a, b, c, d, e, f, g) fprintf(stderr, "\n[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g)
109+
#define error8(s, a, b, c, d, e, f, g, h) fprintf(stderr, "\n[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h)
110+
#define error9(s, a, b, c, d, e, f, g, h, i) fprintf(stderr, "\n[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i)
111+
#define error10(s, a, b, c, d, e, f, g, h, i, j) fprintf(stderr, "\n[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j)
112+
#define error11(s, a, b, c, d, e, f, g, h, i, j, k) fprintf(stderr, "\n[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k)
113+
#define error12(s, a, b, c, d, e, f, g, h, i, j, k, l) fprintf(stderr, "\n[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l)
114+
#define error13(s, a, b, c, d, e, f, g, h, i, j, k, l, m) fprintf(stderr, "\n[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m)
115+
#define error14(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n) fprintf(stderr, "\n[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n)
116+
#define error15(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) fprintf(stderr, "\n[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
117117
#else
118118
#define error(s)
119119
#define error1(s, a)
@@ -135,22 +135,22 @@
135135

136136
/* ereturn macros also here... */
137137
#ifndef NO_ERETURN
138-
#define ereturn(rv, s) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__); return rv; }while(0)
139-
#define ereturn1(rv, s, a) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a); return rv; }while(0)
140-
#define ereturn2(rv, s, a, b) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b); return rv; }while(0)
141-
#define ereturn3(rv, s, a, b, c) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c); return rv; }while(0)
142-
#define ereturn4(rv, s, a, b, c, d) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d); return rv; }while(0)
143-
#define ereturn5(rv, s, a, b, c, d, e) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e); return rv; }while(0)
144-
#define ereturn6(rv, s, a, b, c, d, e, f) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f); return rv; }while(0)
145-
#define ereturn7(rv, s, a, b, c, d, e, f, g) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g); return rv; }while(0)
146-
#define ereturn8(rv, s, a, b, c, d, e, f, g, h) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h); return rv; }while(0)
147-
#define ereturn9(rv, s, a, b, c, d, e, f, g, h, i) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i); return rv; }while(0)
148-
#define ereturn10(rv, s, a, b, c, d, e, f, g, h, i, j) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j); return rv; }while(0)
149-
#define ereturn11(rv, s, a, b, c, d, e, f, g, h, i, j, k) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k); return rv; }while(0)
150-
#define ereturn12(rv, s, a, b, c, d, e, f, g, h, i, j, k, l) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l); return rv; }while(0)
151-
#define ereturn13(rv, s, a, b, c, d, e, f, g, h, i, j, k, l, m) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m); return rv; }while(0)
152-
#define ereturn14(rv, s, a, b, c, d, e, f, g, h, i, j, k, l, m, n) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n); return rv; }while(0)
153-
#define ereturn15(rv, s, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) do{ fprintf(stderr, "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o); return rv; }while(0)
138+
#define ereturn(rv, s) do{ fprintf(stderr, "\n[" __FILE__ ":%i] ereturn: " s "\n", __LINE__); return rv; }while(0)
139+
#define ereturn1(rv, s, a) do{ fprintf(stderr, "\n[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a); return rv; }while(0)
140+
#define ereturn2(rv, s, a, b) do{ fprintf(stderr, "\n[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b); return rv; }while(0)
141+
#define ereturn3(rv, s, a, b, c) do{ fprintf(stderr, "\n[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c); return rv; }while(0)
142+
#define ereturn4(rv, s, a, b, c, d) do{ fprintf(stderr, "\n[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d); return rv; }while(0)
143+
#define ereturn5(rv, s, a, b, c, d, e) do{ fprintf(stderr, "\n[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e); return rv; }while(0)
144+
#define ereturn6(rv, s, a, b, c, d, e, f) do{ fprintf(stderr, "\n[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f); return rv; }while(0)
145+
#define ereturn7(rv, s, a, b, c, d, e, f, g) do{ fprintf(stderr, "\n[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g); return rv; }while(0)
146+
#define ereturn8(rv, s, a, b, c, d, e, f, g, h) do{ fprintf(stderr, "\n[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h); return rv; }while(0)
147+
#define ereturn9(rv, s, a, b, c, d, e, f, g, h, i) do{ fprintf(stderr, "\n[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i); return rv; }while(0)
148+
#define ereturn10(rv, s, a, b, c, d, e, f, g, h, i, j) do{ fprintf(stderr, "\n[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j); return rv; }while(0)
149+
#define ereturn11(rv, s, a, b, c, d, e, f, g, h, i, j, k) do{ fprintf(stderr, "\n[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k); return rv; }while(0)
150+
#define ereturn12(rv, s, a, b, c, d, e, f, g, h, i, j, k, l) do{ fprintf(stderr, "\n[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l); return rv; }while(0)
151+
#define ereturn13(rv, s, a, b, c, d, e, f, g, h, i, j, k, l, m) do{ fprintf(stderr, "\n[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m); return rv; }while(0)
152+
#define ereturn14(rv, s, a, b, c, d, e, f, g, h, i, j, k, l, m, n) do{ fprintf(stderr, "\n[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n); return rv; }while(0)
153+
#define ereturn15(rv, s, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) do{ fprintf(stderr, "\n[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o); return rv; }while(0)
154154
#else
155155
#define ereturn(rv, s) return rv
156156
#define ereturn1(rv, s, a) return rv

0 commit comments

Comments
 (0)