Restore gzgetc function for binary compatibility.

Newly compiled applications will use the gzgetc macro.
This commit is contained in:
Mark Adler 2011-12-18 14:47:08 -08:00
parent df60b50769
commit 3d85f02a09
7 changed files with 16 additions and 5 deletions

View File

@ -53,6 +53,7 @@ STRPGMEXP PGMLVL(*CURRENT) SIGNATURE('ZLIB')
EXPORT SYMBOL("gzputs")
EXPORT SYMBOL("gzgets")
EXPORT SYMBOL("gzputc")
EXPORT SYMBOL("gzgetc")
EXPORT SYMBOL("gzflush")
EXPORT SYMBOL("gzseek")
EXPORT SYMBOL("gzrewind")

View File

@ -186,6 +186,9 @@
D file value like(gzFile) File pointer
D c 10I 0 value Character to write
*
D gzgetc PR 10i 0 extproc('gzgetc')
D file value like(gzFile) File pointer
*
D gzgetc_ PR 10i 0 extproc('gzgetc_')
D file value like(gzFile) File pointer
*

View File

@ -33,6 +33,7 @@ EXPORTS
zlibVersion @27
gzprintf @28
gzputc @29
gzgetc @30
gzseek @31
gzrewind @32
gztell @33

View File

@ -33,6 +33,7 @@ EXPORTS
zlibVersion @27
gzprintf @28
gzputc @29
gzgetc @30
gzseek @31
gzrewind @32
gztell @33

View File

@ -390,10 +390,7 @@ int ZEXPORT gzgetc_(file)
(state->err != Z_OK && state->err != Z_BUF_ERROR))
return -1;
/* try output buffer (no need to check for skip request) -- while
this check really isn't required since the gzgetc() macro has
already determined that x.have is zero, we leave it in for
completeness. */
/* try output buffer (no need to check for skip request) */
if (state->x.have) {
state->x.have--;
state->x.pos++;
@ -405,6 +402,13 @@ int ZEXPORT gzgetc_(file)
return ret < 1 ? -1 : buf[0];
}
#undef gzgetc
int ZEXPORT gzgetc(file)
gzFile file;
{
return gzgetc_(file);
}
/* -- see zlib.h -- */
int ZEXPORT gzungetc(c, file)
int c;

View File

@ -42,6 +42,7 @@ EXPORTS
gzputs
gzgets
gzputc
gzgetc
gzungetc
gzflush
gzseek

2
zlib.h
View File

@ -1363,8 +1363,8 @@ ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
returns the value that was written, or -1 in case of error.
*/
/*
ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
/*
Reads one byte from the compressed file. gzgetc returns this byte or -1
in case of end of file or error. This is implemented as a macro for speed.
As such, it does not do all of the checking the other functions do. I.e.