亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gzip.c

?? GZip Compress Souce Code
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* gzip (GNU zip) -- compress files with zip algorithm and 'compress' interface * Copyright (C) 1992-1993 Jean-loup Gailly * The unzip code was written and put in the public domain by Mark Adler. * Portions of the lzw code are derived from the public domain 'compress' * written by Spencer Thomas, Joe Orost, James Woods, Jim McKie, Steve Davies, * Ken Turkowski, Dave Mack and Peter Jannesen. * * See the license_msg below and the file COPYING for the software license. * See the file algorithm.doc for the compression algorithms and file formats. */#include "bsdebug.h"//#define _DEBUG_GZIP_C_#ifdef DBGPrintfi#undef DBGPrintfi#endif#ifdef DBGPrintfo#undef DBGPrintfo#endif#if defined(_TRACEHELPER_DEBUG_ALL_)  #define DBGPrintfi(a) DbgPrintfi a;  #define DBGPrintfo(a) DbgPrintfo a;#elif defined(_DEBUG_GZIP_C_) && defined(_TRACEHELPER_DEBUG_EACH_OF_FILE_)  #define DBGPrintfi(a) DbgPrintfi a;  #define DBGPrintfo(a) DbgPrintfo a;#else  #define DBGPrintfi(a)  #define DBGPrintfo(a)#endifstatic char  *license_msg[] = {"   Copyright (C) 1992-1993 Jean-loup Gailly","   This program is free software; you can redistribute it and/or modify","   it under the terms of the GNU General Public License as published by","   the Free Software Foundation; either version 2, or (at your option)","   any later version.","","   This program is distributed in the hope that it will be useful,","   but WITHOUT ANY WARRANTY; without even the implied warranty of","   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the","   GNU General Public License for more details.","","   You should have received a copy of the GNU General Public License","   along with this program; if not, write to the Free Software","   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.",0};/* Compress files with zip algorithm and 'compress' interface. * See usage() and help() functions below for all options. * Outputs: *        file.gz:   compressed file with same mode, owner, and utimes *     or stdout with -c option or if stdin used as input. * If the output file name had to be truncated, the original name is kept * in the compressed file. * On MSDOS, file.tmp -> file.tmz. On VMS, file.tmp -> file.tmp-gz. * * Using gz on MSDOS would create too many file name conflicts. For * example, foo.txt -> foo.tgz (.tgz must be reserved as shorthand for * tar.gz). Similarly, foo.dir and foo.doc would both be mapped to foo.dgz. * I also considered 12345678.txt -> 12345txt.gz but this truncates the name * too heavily. There is no ideal solution given the MSDOS 8+3 limitation.  * * For the meaning of all compilation flags, see comments in Makefile.in. */#ifdef RCSIDstatic char rcsid[] = "$Id: gzip.c,v 0.24 1993/06/24 10:52:07 jloup Exp $";#endif#include <ctype.h>#include <sys/types.h>#include <signal.h>#include <sys/stat.h>#include <errno.h>#include "tailor.h"#include "gzip.h"#include "lzw.h"#include "revision.h"#include "getopt.h"		/* configuration */#ifdef NO_TIME_H#  include <sys/time.h>#else#  include <time.h>#endif#ifndef NO_FCNTL_H#  include <fcntl.h>#endif#ifdef HAVE_UNISTD_H#  include <unistd.h>#endif#if defined(STDC_HEADERS) || !defined(NO_STDLIB_H)#  include <stdlib.h>#else   extern int errno;#endif#if defined(DIRENT)#  include <dirent.h>   typedef struct dirent dir_type;#  define NLENGTH(dirent) ((int)strlen((dirent)->d_name))#  define DIR_OPT "DIRENT"#else#  define NLENGTH(dirent) ((dirent)->d_namlen)#  ifdef SYSDIR#    include <sys/dir.h>     typedef struct direct dir_type;#    define DIR_OPT "SYSDIR"#  else#    ifdef SYSNDIR#      include <sys/ndir.h>       typedef struct direct dir_type;#      define DIR_OPT "SYSNDIR"#    else#      ifdef NDIR#        include <ndir.h>         typedef struct direct dir_type;#        define DIR_OPT "NDIR"#      else#        define NO_DIR#        define DIR_OPT "NO_DIR"#      endif#    endif#  endif#endif#ifndef NO_UTIME#  ifndef NO_UTIME_H#    include <utime.h>#    define TIME_OPT "UTIME"#  else#    ifdef HAVE_SYS_UTIME_H#      include <sys/utime.h>#      define TIME_OPT "SYS_UTIME"#    else       struct utimbuf {         time_t actime;         time_t modtime;       };#      define TIME_OPT ""#    endif#  endif#else#  define TIME_OPT "NO_UTIME"#endif#if !defined(S_ISDIR) && defined(S_IFDIR)#  define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)#endif#if !defined(S_ISREG) && defined(S_IFREG)#  define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)#endiftypedef RETSIGTYPE (*sig_type) OF((int));#ifndef	O_BINARY#  define  O_BINARY  0  /* creation mode for open() */#endif#ifndef O_CREAT   /* Pure BSD system? */#  include <sys/file.h>#  ifndef O_CREAT#    define O_CREAT FCREAT#  endif#  ifndef O_EXCL#    define O_EXCL FEXCL#  endif#endif#ifndef S_IRUSR#  define S_IRUSR 0400#endif#ifndef S_IWUSR#  define S_IWUSR 0200#endif#define RW_USER (S_IRUSR | S_IWUSR)  /* creation mode for open() */#ifndef MAX_PATH_LEN#  define MAX_PATH_LEN   1024 /* max pathname length */#endif#ifndef SEEK_END#  define SEEK_END 2#endif#ifdef NO_OFF_T  typedef long off_t;  off_t lseek OF((int fd, off_t offset, int whence));#endif/* Separator for file name parts (see shorten_name()) */#ifdef NO_MULTIPLE_DOTS#  define PART_SEP "-"#else#  define PART_SEP "."#endif		/* global buffers */DECLARE(uch, inbuf,  INBUFSIZ +INBUF_EXTRA);DECLARE(uch, outbuf, OUTBUFSIZ+OUTBUF_EXTRA);DECLARE(ush, d_buf,  DIST_BUFSIZE);DECLARE(uch, window, 2L*WSIZE);#ifndef MAXSEG_64K    DECLARE(ush, tab_prefix, 1L<<BITS);#else    DECLARE(ush, tab_prefix0, 1L<<(BITS-1));    DECLARE(ush, tab_prefix1, 1L<<(BITS-1));#endif		/* local variables */int ascii = 0;        /* convert end-of-lines to local OS conventions */int to_stdout = 0;    /* output to stdout (-c) */int decompress = 0;   /* decompress (-d) */int force = 0;        /* don't ask questions, compress links (-f) */int no_name = -1;     /* don't save or restore the original file name */int no_time = -1;     /* don't save or restore the original file time */int recursive = 0;    /* recurse through directories (-r) */int list = 0;         /* list the file contents (-l) */int verbose = 0;      /* be verbose (-v) */int quiet = 0;        /* be very quiet (-q) */int do_lzw = 0;       /* generate output compatible with old compress (-Z) */int test = 0;         /* test .gz file integrity */int foreground;       /* set if program run in foreground */char *progname;       /* program name */int maxbits = BITS;   /* max bits per code for LZW */int method = DEFLATED;/* compression method */int level = 6;        /* compression level */int exit_code = OK;   /* program exit code */int save_orig_name;   /* set if original name must be saved */int last_member;      /* set for .zip and .Z files */int part_nb;          /* number of parts in .gz file */long time_stamp;      /* original time stamp (modification time) */long ifile_size;      /* input file size, -1 for devices (debug only) */char *env;            /* contents of GZIP env variable */char **args = NULL;   /* argv pointer if GZIP env variable defined */char z_suffix[MAX_SUFFIX+1]; /* default suffix (can be set with --suffix) */int  z_len;           /* strlen(z_suffix) */long bytes_in;             /* number of input bytes */long bytes_out;            /* number of output bytes */long total_in = 0;         /* input bytes for all files */long total_out = 0;        /* output bytes for all files */char ifname[MAX_PATH_LEN]; /* input file name */char ofname[MAX_PATH_LEN]; /* output file name */int  remove_ofname = 0;	   /* remove output file on error */struct stat istat;         /* status for input file */int  ifd;                  /* input file descriptor */int  ofd;                  /* output file descriptor */unsigned insize;           /* valid bytes in inbuf */unsigned inptr;            /* index of next byte to be processed in inbuf */unsigned outcnt;           /* bytes in output buffer */struct option longopts[] ={ /* { name  has_arg  *flag  val } */    {"ascii",      0, 0, 'a'}, /* ascii text mode */    {"to-stdout",  0, 0, 'c'}, /* write output on standard output */    {"stdout",     0, 0, 'c'}, /* write output on standard output */    {"decompress", 0, 0, 'd'}, /* decompress */    {"uncompress", 0, 0, 'd'}, /* decompress */ /* {"encrypt",    0, 0, 'e'},    encrypt */    {"force",      0, 0, 'f'}, /* force overwrite of output file */    {"help",       0, 0, 'h'}, /* give help */ /* {"pkzip",      0, 0, 'k'},    force output in pkzip format */    {"list",       0, 0, 'l'}, /* list .gz file contents */    {"license",    0, 0, 'L'}, /* display software license */    {"no-name",    0, 0, 'n'}, /* don't save or restore original name & time */    {"name",       0, 0, 'N'}, /* save or restore original name & time */    {"quiet",      0, 0, 'q'}, /* quiet mode */    {"silent",     0, 0, 'q'}, /* quiet mode */    {"recursive",  0, 0, 'r'}, /* recurse through directories */    {"suffix",     1, 0, 'S'}, /* use given suffix instead of .gz */    {"test",       0, 0, 't'}, /* test compressed file integrity */    {"no-time",    0, 0, 'T'}, /* don't save or restore the time stamp */    {"verbose",    0, 0, 'v'}, /* verbose mode */    {"version",    0, 0, 'V'}, /* display version number */    {"fast",       0, 0, '1'}, /* compress faster */    {"best",       0, 0, '9'}, /* compress better */    {"lzw",        0, 0, 'Z'}, /* make output compatible with old compress */    {"bits",       1, 0, 'b'}, /* max number of bits per code (implies -Z) */    { 0, 0, 0, 0 }};/* local functions */local void usage        OF((void));local void help         OF((void));local void license      OF((void));local void version      OF((void));local int treat_stdin  OF((void));local int treat_file   OF((char *iname));local int create_outfile OF((void));local int  do_stat      OF((char *name, struct stat *sbuf));local char *get_suffix  OF((char *name));local int  get_istat    OF((char *iname, struct stat *sbuf));local int  make_ofname  OF((void));local int  same_file    OF((struct stat *stat1, struct stat *stat2));local int name_too_long OF((char *name, struct stat *statb));local int shorten_name  OF((char *name));local int  get_method   OF((int in));local int do_list      OF((int ifd, int method));local int  check_ofname OF((void));local void copy_stat    OF((struct stat *ifstat));local void do_exit      OF((int exitcode));      int main          OF((int argc, char **argv));int (*work) OF((int infile, int outfile)) = zip; /* function to call */#ifndef NO_DIRlocal void treat_dir    OF((char *dir));#endif#ifndef NO_UTIMElocal void reset_times  OF((char *name, struct stat *statb));#endif#define strequ(s1, s2) (strcmp((s1),(s2)) == 0)/* ======================================================================== */local void usage(){  DBGPrintfi(("usage(In)\r\n"));  {    fprintf(stderr, "usage: %s [-%scdfhlLnN%stvV19] [-S suffix] [file ...]\n",	    progname,#if O_BINARY	    "a",#else	    "",#endif#ifdef NO_DIR	    ""#else	    "r"#endif	    );  }  DBGPrintfo(("usage(out)\r\n"));}/* ======================================================================== */local void help(){  DBGPrintfi(("help(In)\r\n"));  {    static char  *help_msg[] = {#if O_BINARY " -a --ascii       ascii text; convert end-of-lines using local conventions",#endif " -c --stdout      write on standard output, keep original files unchanged", " -d --decompress  decompress",/* -e --encrypt     encrypt */ " -f --force       force overwrite of output file and compress links", " -h --help        give this help",/* -k --pkzip       force output in pkzip format */ " -l --list        list compressed file contents", " -L --license     display software license",#ifdef UNDOCUMENTED " -m --no-time     do not save or restore the original modification time", " -M --time        save or restore the original modification time",#endif " -n --no-name     do not save or restore the original name and time stamp", " -N --name        save or restore the original name and time stamp", " -q --quiet       suppress all warnings",#ifndef NO_DIR " -r --recursive   operate recursively on directories",#endif " -S .suf  --suffix .suf     use suffix .suf on compressed files", " -t --test        test compressed file integrity", " -v --verbose     verbose mode", " -V --version     display version number", " -1 --fast        compress faster", " -9 --best        compress better",#ifdef LZW " -Z --lzw         produce output compatible with old compress", " -b --bits maxbits   max number of bits per code (implies -Z)",#endif " file...          files to (de)compress. If none given, use standard input.",  0};    char **p = help_msg;    fprintf(stderr,"%s %s (%s)\n", progname, VERSION, REVDATE);    usage();    while (*p) fprintf(stderr, "%s\n", *p++);  }  DBGPrintfo(("help(out)\r\n"));}/* ======================================================================== */local void license(){  DBGPrintfi(("license(In)\r\n"));  {    char **p = license_msg;    fprintf(stderr,"%s %s (%s)\n", progname, VERSION, REVDATE);    while (*p) fprintf(stderr, "%s\n", *p++);  }  DBGPrintfo(("license(out)\r\n"));}/* ======================================================================== */local void version(){  DBGPrintfi(("version(In)\r\n"));  {    fprintf(stderr,"%s %s (%s)\n", progname, VERSION, REVDATE);    fprintf(stderr, "Compilation options:\n%s %s ", DIR_OPT, TIME_OPT);#ifdef STDC_HEADERS    fprintf(stderr, "STDC_HEADERS ");#endif#ifdef HAVE_UNISTD_H    fprintf(stderr, "HAVE_UNISTD_H ");#endif#ifdef NO_MEMORY_H    fprintf(stderr, "NO_MEMORY_H ");#endif#ifdef NO_STRING_H    fprintf(stderr, "NO_STRING_H ");#endif#ifdef NO_SYMLINK    fprintf(stderr, "NO_SYMLINK ");#endif#ifdef NO_MULTIPLE_DOTS    fprintf(stderr, "NO_MULTIPLE_DOTS ");#endif#ifdef NO_CHOWN    fprintf(stderr, "NO_CHOWN ");#endif#ifdef PROTO    fprintf(stderr, "PROTO ");#endif#ifdef ASMV    fprintf(stderr, "ASMV ");#endif#ifdef DEBUG    fprintf(stderr, "DEBUG ");#endif#ifdef DYN_ALLOC    fprintf(stderr, "DYN_ALLOC ");#endif#ifdef MAXSEG_64K    fprintf(stderr, "MAXSEG_64K");#endif    fprintf(stderr, "\n");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成年人网站在线观看| 亚洲18女电影在线观看| 不卡视频在线观看| 看片网站欧美日韩| 亚洲午夜久久久| 亚洲国产成人av好男人在线观看| 欧美国产精品一区二区三区| 精品日韩一区二区三区| 欧美在线看片a免费观看| 国产成人99久久亚洲综合精品| 亚洲午夜影视影院在线观看| 免费成人在线视频观看| 欧美肥妇bbw| 久久精品国产一区二区| 国产欧美日韩中文久久| 久久久久久99精品| 亚洲成人tv网| 欧美大片在线观看| 国产日韩精品一区二区三区| 不卡一区二区中文字幕| 94色蜜桃网一区二区三区| 不卡的电影网站| 成人午夜视频在线观看| 99久久免费视频.com| 丰满白嫩尤物一区二区| 91网站在线观看视频| 日本韩国欧美一区| 欧美精品乱码久久久久久按摩| 欧美揉bbbbb揉bbbbb| 欧美精品久久一区二区三区| 久久久久99精品国产片| 亚洲视频 欧洲视频| 亚洲精品伦理在线| 免费亚洲电影在线| 色综合天天综合狠狠| 在线不卡免费欧美| 中文字幕巨乱亚洲| 1区2区3区国产精品| 亚洲人成网站色在线观看| 亚洲午夜视频在线| 久久99九九99精品| 日本乱人伦aⅴ精品| 精品久久久久久久久久久久包黑料 | 久久久久一区二区三区四区| 国产精品久久免费看| 日韩国产欧美一区二区三区| 国产91精品在线观看| 欧美日韩国产乱码电影| 国产精品伦理在线| 六月婷婷色综合| 色综合天天狠狠| 欧美成人在线直播| 亚洲成av人片一区二区| 99久久久免费精品国产一区二区| 欧美日韩国产综合一区二区| 欧美国产一区二区| 日本人妖一区二区| 欧美视频第二页| 日韩欧美你懂的| 精品亚洲国产成人av制服丝袜| 亚洲桃色在线一区| 欧美亚洲综合久久| 蜜桃在线一区二区三区| 久久九九久久九九| 91麻豆国产精品久久| 香蕉av福利精品导航| 欧美一区三区二区| 成人激情视频网站| 国产剧情在线观看一区二区| 久久综合九色综合97_久久久| 国产精品福利一区二区三区| 国产麻豆精品视频| 日韩欧美在线网站| 蜜乳av一区二区| 欧美久久久久久蜜桃| 久久久久久久电影| 日韩一区二区三| 91久久线看在观草草青青| 蜜桃视频一区二区| 午夜国产精品影院在线观看| **性色生活片久久毛片| 欧美国产精品专区| 日韩亚洲欧美一区| 日韩一区二区中文字幕| eeuss鲁一区二区三区| 精品国产三级电影在线观看| 日本伊人精品一区二区三区观看方式| 欧美日韩国产综合草草| 亚洲午夜成aⅴ人片| 欧美视频三区在线播放| 日本在线不卡视频| 精品国产一区二区精华| 国产白丝网站精品污在线入口| 日本一区二区三区四区在线视频 | 中文欧美字幕免费| 成人av片在线观看| 亚洲精品国产精华液| 欧美日韩国产精品成人| 亚洲成人资源网| 日韩天堂在线观看| 国产精品一区二区免费不卡 | eeuss影院一区二区三区| 亚洲色图在线播放| 成人app网站| 色婷婷久久久亚洲一区二区三区 | 国产真实乱对白精彩久久| 国内精品免费**视频| 色女孩综合影院| 欧美在线一二三| 日韩一区二区三区观看| 亚洲男人的天堂一区二区| 蜜臀久久99精品久久久久久9| 不卡av免费在线观看| 一区二区日韩电影| 国产精品一线二线三线精华| 欧美国产丝袜视频| 欧美日韩在线精品一区二区三区激情| 精品一区二区影视| 亚洲男人的天堂av| 国产精品美女久久久久久久久久久| 国产精品国产三级国产专播品爱网| 欧美激情艳妇裸体舞| 日本欧美韩国一区三区| 欧美色男人天堂| 亚洲天堂成人网| 国产三级精品视频| 麻豆91精品91久久久的内涵| 国产真实乱子伦精品视频| 亚洲综合男人的天堂| 色综合天天做天天爱| 亚洲欧洲无码一区二区三区| 972aa.com艺术欧美| 亚洲一级片在线观看| 在线视频综合导航| 国产精品18久久久久久久网站| 丁香婷婷综合五月| 色猫猫国产区一区二在线视频| 国产亚洲精品aa| 欧美婷婷六月丁香综合色| 国产九色精品成人porny | 久久夜色精品国产噜噜av | 欧美日韩日日摸| 成人白浆超碰人人人人| 国产一区二区三区在线观看免费| 亚洲高清免费观看| 一区二区三区小说| 亚洲欧美日韩人成在线播放| 欧美国产成人精品| 日本一区免费视频| 国产清纯美女被跳蛋高潮一区二区久久w| 欧美一区二区三区四区高清 | 欧美成人一级视频| 91精品国产综合久久香蕉的特点| 欧美天天综合网| 欧美在线制服丝袜| 欧美午夜精品一区| 欧美伊人久久久久久久久影院| 93久久精品日日躁夜夜躁欧美| 国产成人在线视频免费播放| 久久精品久久精品| 狠狠网亚洲精品| 激情综合网激情| 国产精品一线二线三线精华| 国产经典欧美精品| 国产成人午夜电影网| 岛国一区二区三区| 成人国产视频在线观看| 成人aa视频在线观看| 91黄色免费看| 91国偷自产一区二区三区观看| 欧美视频完全免费看| 日韩视频免费观看高清完整版 | 97成人超碰视| 91在线视频在线| 91首页免费视频| 欧美日韩国产123区| 91精品国产综合久久福利软件| 日韩视频一区二区在线观看| 国产精品高潮呻吟| 亚洲成av人影院| 国产精品香蕉一区二区三区| 成人免费视频app| 欧美影院精品一区| 久久久久久久久久电影| 伊人婷婷欧美激情| 久久成人免费电影| 91首页免费视频| 欧美大度的电影原声| 最新日韩在线视频| 麻豆精品国产91久久久久久| 国产乱码精品一区二区三| 色妞www精品视频| 欧美一区二区三区成人| 国产亚洲欧美色| 视频一区二区三区中文字幕| 成人免费看的视频| 欧美成人官网二区| 一区二区理论电影在线观看| 韩国三级电影一区二区| 欧美午夜精品久久久|