JunkBox_Lib++ (for Windows) 1.10.1
|
Go to the source code of this file.
Functions | |
Buffer | gz_decode_data (Buffer enc) |
圧縮データ encを解凍する. | |
void | deflate2gzip (Buffer *def) |
deflateデータを gzipのデータ構造に変換する. | |
int | gz_decode_fp (FILE *infp, FILE *otfp) |
ファイルポインタによるファイルの解凍 | |
int | gz_encode_gzfp (FILE *fp, gzFile *gf) |
GZIPのファイルポインタを用いた ファイルの圧縮 | |
int | gz_decode_gzfp (gzFile *gf, FILE *fp) |
GZIPのファイルポインタを用いた ファイルの解凍 | |
int | gz_encode_file (const char *fmfn, const char *tofn) |
ファイル名による ファイルの圧縮 | |
int | gz_decode_file (const char *fmfn, const char *tofn) |
ファイル名による ファイルの解凍 | |
int | gz_decode_file_replace (const char *fn, const char *tempdir) |
ファイル名による ファイルの解凍.ファイルを置き換える. | |
int | is_gz_data (Buffer enc) |
void | extract_tTar (Buffer tardata, Buffer prefix, mode_t mode) |
void | extract_tTar_file (const char *fn) |
void deflate2gzip | ( | Buffer * | def | ) |
deflateデータを gzipのデータ構造に変換する.
zlibの関数群は deflateを自動判別するようなので,zlibの関数を直接使用する場合はこの関数は必要ない.
ファイルとして保存する場合は,gzipの headerとtailerを付加する必要があるが,圧縮前のCRC32とISIZEは通常は計算できない.
従ってこの headerと tailerを付加したファイルは gunzuipコマンドでは解凍できない.zcat はエラーを出すが,解凍自体は可能.
headerと tailerを付加しても,zlibの関数群では使用可能
[out] | def | 変換する deflateのデータが保存された Buffer変数へのポインタ. |
Definition at line 99 of file gz_tool.cpp.
References Buffer::buf, cat_b2Buffer(), free_Buffer(), GZIP_DEFLATE_ID1, GZIP_DEFLATE_ID2, init_Buffer(), make_Buffer(), and Buffer::vldsz.
Definition at line 393 of file gz_tool.cpp.
References Buffer::buf, canonical_filename_Buffer(), cat_Buffer(), cat_s2Buffer, dup_Buffer(), FALSE, free_Buffer(), init_Buffer(), make_Buffer_bystr, mkdirp(), PRINT_MESG, TRUE, Buffer::vldsz, and write_file().
void extract_tTar_file | ( | const char * | fn | ) |
Definition at line 459 of file gz_tool.cpp.
References UNUSED.
Buffer gz_decode_data(Buffer enc)
gzipデータ encを解凍して返す.データエラーが発生しても,解凍可能なところまでは解凍する.
enc | 解凍する gzipデータが格納された Buffer変数. |
Definition at line 32 of file gz_tool.cpp.
References Buffer::buf, Buffer::bufsz, BUFSZ, cat_Buffer(), DEBUG_MODE, free_Buffer(), init_Buffer(), JBXL_ERROR, make_Buffer(), PRINT_MESG, Buffer::state, and Buffer::vldsz.
Referenced by llsd_bin_get_block_data().
int gz_decode_file | ( | const char * | fmfn, |
const char * | tofn ) |
int gz_decode_file(const char* fmfn, const char* tofn)
gzipファイル fmfnを解凍して ファイル tofnへ保存する.
fmfn | 解凍する gzipファイル名 |
tofn | 解凍されたファイル名 |
Definition at line 296 of file gz_tool.cpp.
References gz_decode_fp(), JBXL_FILE_DESTOPEN_ERROR, and JBXL_FILE_OPEN_ERROR.
Referenced by gz_decode_file_replace().
int gz_decode_file_replace | ( | const char * | fn, |
const char * | tempdir ) |
int gz_decode_file_replace(const char* fn, const char* tempdir)
gzipファイル fnを解凍して,通常のファイルで置き換える.
fn | 解凍する gzipファイル名 |
tempdir | 作業用ディレクトリ.NULLも可. |
Definition at line 358 of file gz_tool.cpp.
References gz_decode_file(), temp_filename(), and unlink.
Referenced by recv_http_file().
int gz_decode_fp | ( | FILE * | infp, |
FILE * | otfp ) |
int gz_decode_fp(FILE* infp, FILE* otfp)
gzipファイル infnを解凍して ファイル otfnへ保存する.データエラーが発生しても,解凍可能なところまでは解凍する.
infp | 解凍する gzipファイルのファイルポインタ. |
otfp | 解凍されたファイルのファイルポインタ. |
Definition at line 133 of file gz_tool.cpp.
References BUFSZ, DEBUG_MODE, JBXL_ERROR, LBUF, and PRINT_MESG.
Referenced by gz_decode_file().
int gz_decode_gzfp | ( | gzFile * | gf, |
FILE * | fp ) |
int gz_decode_gzfp(gzFile* gf, FILE* fp)
gzip ファイル gfを解凍して ファイル fpへ保存する. gzread()で読んで fwrite()で書き込む.
gf | 読み込み用の gzipファイルへのポインタ. |
fp | 書き込み用の通常ファイルへのポインタ. |
Definition at line 226 of file gz_tool.cpp.
References JBXL_ARGS_ERROR, and RECVBUFSZ.
int gz_encode_file | ( | const char * | fmfn, |
const char * | tofn ) |
int gz_encode_file(const char* fmfn, const char* tofn)
ファイル fmfnを圧縮して gzipファイル tofnへ保存する.fread()で読んで,gzwrite()で書き込む.
fmfn | 圧縮するファイル名 |
tofn | 圧縮された gzip ファイル名 |
Definition at line 255 of file gz_tool.cpp.
References JBXL_FILE_DESTOPEN_ERROR, JBXL_FILE_OPEN_ERROR, and RECVBUFSZ.
int gz_encode_gzfp | ( | FILE * | fp, |
gzFile * | gf ) |
Definition at line 197 of file gz_tool.cpp.
References JBXL_ARGS_ERROR, and RECVBUFSZ.
int is_gz_data | ( | Buffer | enc | ) |
Definition at line 379 of file gz_tool.cpp.
References Buffer::buf, FALSE, TRUE, and Buffer::vldsz.