#2013_10_06 星期日 add by greshem
gzip 中间的work 的函数 最为重要 , work 函数的定义 在 get_method 里面 定义的.
J:\portage\app-arch\gzip\gzip-1.4.chm
main
treat_file(argv[optind++]);
treat_stdin();
open_input_file (iname, &istat);
get_method(ifd); /* updates ofname if original given */
if (memcmp(magic, GZIP_MAGIC, 2) == 0
work = unzip;
else if (memcmp(magic, PACK_MAGIC, 2) == 0) {
work = unpack;
method = PACKED;
else if (memcmp(magic, LZW_MAGIC, 2) == 0) {
work = unlzw;
method = COMPRESSED;
last_member = 1;
else if (memcmp(magic, LZH_MAGIC, 2) == 0) {
work = unlzh;
method = LZHED;
last_member = 1;
else if (force && to_stdout && !list) { /* pass input unchanged */
method = STORED;
work = copy;
(*work)(ifd, ofd) != OK) {
阅读(722) | 评论(0) | 转发(0) |