mirror of
http://mpg123.de/trunk/.git
synced 2025-07-31 13:24:22 +03:00
libmpg123: purge off_t out of the core, offer 64 bit portable API (bug 344)
This now is the result of way to much time of thinking hard about disentangling the various I/O paths in libmpg123. It needed days of hacking, way too many hours continuously, to figure out how this would work. So this is my draft that I tested in various settings and am hopeful that it fulfills the ideas drafted in bug 344, the relentless discussion with manx about how portable API should look. Instead of just adding some 64 bit functions, this is a refactoring of the reader code, moving the parts actually dealing with OS calls and largefile support into lfs_wrap.c, which now offers wrappers and aliases. All file I/O is now routed through the interface of mpg123_reader64() and could neatly be split into a separate library, weren't it for only a handful of internal hooks. I fixed up the autoconf and the CMake build. Ideally, both break only on a limited set of platforms. I am pushing this directly to trunk as a) I did testing on x86-64 and i686 with some largefile switchery and think it should work and b) I want people to quickly tell me what does not work. Let's see how many iterations we'll need until 1.32.0 can finally be released. git-svn-id: svn://scm.orgis.org/mpg123/trunk@5304 35dc7657-300d-0410-a2e5-dc2837fedb53
This commit is contained in:
@ -52,6 +52,7 @@ for my $i (@instances)
|
||||
my %ident;
|
||||
my @symbols = @{$i->{symbols}};
|
||||
my $apiex = qr/^$i->{apiprefix}/;
|
||||
my $preex = qr/^$i->{prefix}/;
|
||||
|
||||
foreach my $header (@{$i->{headers}})
|
||||
{
|
||||
@ -62,7 +63,7 @@ for my $i (@instances)
|
||||
if(/^([^\s\(#][^\(]*)\s\*?([a-z][a-z_0-9]+)\s*\(/)
|
||||
{
|
||||
# Skip preprocessing/comment stuff and official API.
|
||||
unless($1 =~ '^#' or $1 =~ '/[/\*]' or $2 =~ $apiex or $1 =~ /\bstatic\b/)
|
||||
unless($1 =~ '^#' or $1 =~ '/[/\*]' or $2 =~ $apiex or $2 =~ $preex or $1 =~ /\bstatic\b/)
|
||||
{
|
||||
die "second definition of $2 in $header\n"
|
||||
if grep {$_ eq $2} @symbols;
|
||||
|
Reference in New Issue
Block a user