view zlib/gzclose.c @ 2704:c5dce4284e69

Fix a couple of bugs in CPU DSL found while working on uPD78K/II core
author Michael Pavone <pavone@retrodev.com>
date Sun, 06 Jul 2025 15:18:02 -0700
parents 9ef72ee5c0b0
children
line wrap: on
line source

/* gzclose.c -- zlib gzclose() function
 * Copyright (C) 2004, 2010 Mark Adler
 * For conditions of distribution and use, see copyright notice in zlib.h
 */

#include "gzguts.h"

/* gzclose() is in a separate file so that it is linked in only if it is used.
   That way the other gzclose functions can be used instead to avoid linking in
   unneeded compression or decompression routines. */
int ZEXPORT gzclose(gzFile file) {
#ifndef NO_GZCOMPRESS
    gz_statep state;

    if (file == NULL)
        return Z_STREAM_ERROR;
    state = (gz_statep)file;

    return state->mode == GZ_READ ? gzclose_r(file) : gzclose_w(file);
#else
    return gzclose_r(file);
#endif
}