Octave interface to the compression and uncompression libraries. More...
#include <cstdio>
#include <cstring>
#include <functional>
#include <list>
#include <stdexcept>
#include <string>
#include "Array.h"
#include "dir-ops.h"
#include "file-ops.h"
#include "file-stat.h"
#include "glob-match.h"
#include "lo-sysdep.h"
#include "oct-env.h"
#include "str-vec.h"
#include "Cell.h"
#include "defun-dld.h"
#include "defun-int.h"
#include "errwarn.h"
#include "ov.h"
#include "ovl.h"
Go to the source code of this file.
Namespaces | |
octave | |
Functions | |
octave_value_list | octave::Fbzip2 (const octave_value_list &, int) |
octave_value_list | octave::Fgzip (const octave_value_list &, int) |
C octave_function * | octave::Gbzip2 (const octave::dynamic_library &shl, bool relative) |
C octave_function * | octave::Ggzip (const octave::dynamic_library &shl, bool relative) |
template<typename X > | |
string_vector | octave::xzip (const Array< std::string > &source_patterns) |
template<typename X > | |
string_vector | octave::xzip (const Array< std::string > &source_patterns, const std::function< std::string(const std::string &)> &mk_dest_path) |
template<typename X > | |
string_vector | octave::xzip (const Array< std::string > &source_patterns, const std::string &out_dir) |
Octave interface to the compression and uncompression libraries.
This was originally implemented as an m file which directly called bzip2 and gzip applications. This may look simpler but causes some issues (see bug #43431) because we have no control over the output file:
In addition, because system() does not have a method that allows passing a list of arguments, there is the issue of having to escape filenames.
A solution is to pipe file contents into the applications instead of filenames. However, that solution causes:
Definition in file gzip.cc.