diff options
author | Max Kellermann <max@duempel.org> | 2009-12-15 19:45:50 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2009-12-15 19:45:50 +0100 |
commit | 3411f6cffdcf3c72e7cee3a263c40414dfef956e (patch) | |
tree | 4bd717fe41575262ad52d2ac50d5f811b5e63894 /src/archive_api.h | |
parent | 6c0f50efb568a6da52e6c31920bc93c4254063c7 (diff) | |
download | mpd-3411f6cffdcf3c72e7cee3a263c40414dfef956e.tar.gz mpd-3411f6cffdcf3c72e7cee3a263c40414dfef956e.tar.xz mpd-3411f6cffdcf3c72e7cee3a263c40414dfef956e.zip |
archive: close archive when stream is closed
Fixes a memory leak: the "archive" input plugin opens the archive, but
never closes it. This patch moves the responsibility for doing that
to archive_plugin.open_stream(). This is an slight internal API
change, but it is the simplest and least intrusive fix for the memory
leak.
Diffstat (limited to '')
-rw-r--r-- | src/archive_api.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/archive_api.h b/src/archive_api.h index dbd050bfa..2efcc1e6a 100644 --- a/src/archive_api.h +++ b/src/archive_api.h @@ -73,6 +73,9 @@ struct archive_plugin { /** * Opens an input_stream of a file within the archive. * + * If this function succeeds, then the #input_stream "owns" + * the archive file and will automatically close it. + * * @param path the path within the archive */ bool (*open_stream)(struct archive_file *, struct input_stream *is, |