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

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

?? gzip.c

?? tftp client sorser code,Please download it and compolie it ,byebye
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* 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. *//* 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. */#include <ctype.h>#include <sys/types.h>#include <signal.h>#include <sys/stat.h>#include <errno.h>#include <stdlib.h>#include <string.h>#include "tailor.h"#include "gzip.h"#include "lzw.h"#include "revision.h"#include "getopt.h"char *strlwr(char *s);		/* 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);//uch *inbuf;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 */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 */char *ungzipbuf;	int gziplen ;char *gzipbuf;unsigned insize;           /* valid bytes in inbuf */unsigned inptr;            /* index of next byte to be processed in inbuf *///unsigned outcnt;           /* bytes in output buffer */long  outcnt;           /* bytes in output buffer */long  out_len = 0;/* local functions */int ungzip   OF((char *, int, char *, long, long *));local int  get_method   OF(());//local void copy_stat    OF((struct stat *ifstat));local void do_exit      OF((int exitcode));int (*work) OF((int infile, int outfile)) = zip; /* function to call */#ifndef NO_UTIMElocal void reset_times  OF((char *name, struct stat *statb));#endif#define strequ(s1, s2) (strcmp((s1),(s2)) == 0)/* ======================================================================== * Compress or decompress the given file */int ungzip(char *inbuf, int len, char *outbuf, long out_size, long *outlen){	gzipbuf = malloc(MAX_INBUF);	memcpy(gzipbuf, inbuf, len);	gziplen = len;	decompress = 1;	part_nb = 0;	if (inbuf == NULL)	{		WARN((stderr, "ungzip is NULL\n"));		return NULL_ERR;	}	if (len <= 0)	{		WARN((stderr, " len of ungzip is error\n"));		return SIZE_ERR; 	}	if (decompress)    	{		method = get_method(); 		if (method < 0)		{			WARN((stderr, "method is error\n"));			return METHOD_ERR;              		}    	}	/* Actually do the compression/decompression. Loop over zipped members.	*/	for (;;)     	{		if (unzip(inbuf, outbuf) != OK) 		{			method = -1; /* force cleanup */			//break;			WARN((stderr, "unzip error\n"));			return UNZIP_ERR;				}				if (out_size != out_len)				return -1;		*outlen = out_len;		outlen = &out_len;   		outcnt = 0;		if (!decompress || last_member || inptr == insize) 			break;		bytes_out = 0;    /* required for length check */    	}	free(gzipbuf);	return OK;}/* ======================================================================== * Check the magic number of the input file and update ofname if an * original name was given and to_stdout is not set. * Return the compression method, -1 for error, -2 for warning. * Set inptr to the offset of the next byte to be processed. * Updates time_stamp if there is one and --no-time is not used. * This function may be called repeatedly for an input file consisting * of several contiguous gzip'ed members. * IN assertions: there is at least one remaining compressed member.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级电影网| 久久久99免费| 欧美人xxxx| 日韩黄色免费电影| 欧美精品久久久久久久久老牛影院 | 亚洲蜜臀av乱码久久精品 | 亚洲视频1区2区| 欧美精品自拍偷拍动漫精品| 色视频成人在线观看免| 琪琪久久久久日韩精品| 国产午夜亚洲精品羞羞网站| 精品少妇一区二区三区在线播放 | 欧美日韩成人综合| 777午夜精品视频在线播放| 国产精品综合在线视频| 亚洲欧美色综合| 亚洲美女免费视频| 午夜国产精品一区| 久久一区二区三区四区| 精品视频1区2区3区| 欧美精品三级在线观看| 久久久久久久性| 亚洲裸体在线观看| 欧美一区二区三区的| 99久久国产综合色|国产精品| 亚洲综合激情小说| 国产精品私人影院| 欧美成人官网二区| 国产精品网站一区| 亚洲伦在线观看| 久久精品国产99国产| 一区二区三区免费在线观看| 久久久久久久久久久久久女国产乱| 欧美精品一区二区久久久| 欧美天天综合网| 色婷婷久久99综合精品jk白丝| 欧美色网一区二区| 国产人久久人人人人爽| 久久影音资源网| 亚洲大片一区二区三区| 一区二区三区在线观看视频| 午夜在线成人av| 成人黄色一级视频| 成人av在线网| 日韩欧美在线1卡| 日韩精品一区二区三区三区免费| 欧美日韩亚洲不卡| 国产精品国产三级国产aⅴ中文| 久久免费午夜影院| 亚洲国产精品一区二区久久| 亚洲国产视频一区| 不卡视频免费播放| 亚洲精品一线二线三线无人区| 亚洲一区二区美女| av在线这里只有精品| 99久久精品情趣| 久久女同精品一区二区| 免费在线视频一区| 欧美三级日韩三级国产三级| 日韩一区欧美一区| 五月天一区二区三区| a级高清视频欧美日韩| 久久久777精品电影网影网| 久久99在线观看| 欧美三区在线观看| 亚洲成人1区2区| 精品视频色一区| 五月婷婷色综合| 欧美日韩一区 二区 三区 久久精品| 国产精品另类一区| 成人的网站免费观看| 国产精品私房写真福利视频| 成人影视亚洲图片在线| 91浏览器入口在线观看| 91精品国产欧美一区二区成人 | 日韩欧美色综合网站| 肉色丝袜一区二区| 在线电影国产精品| 日本aⅴ免费视频一区二区三区| 欧美区在线观看| 日本一道高清亚洲日美韩| 国产剧情在线观看一区二区| 日韩欧美www| 国产精品中文字幕日韩精品| 久久久青草青青国产亚洲免观| 狠狠狠色丁香婷婷综合久久五月| av资源网一区| 亚洲综合网站在线观看| 欧美精品乱码久久久久久按摩| 麻豆精品国产91久久久久久| 色悠久久久久综合欧美99| 一区二区三区日本| 欧美一区二区日韩| 国产suv精品一区二区883| 欧美性猛交xxxxxx富婆| 日韩精品成人一区二区在线| 精品少妇一区二区| av中文字幕一区| 日韩中文字幕一区二区三区| 欧美成人伊人久久综合网| yourporn久久国产精品| 一区二区三区日韩欧美精品| 欧美一级片免费看| www.欧美色图| 日本欧美一区二区| 国产精品久久久久毛片软件| 欧美日韩你懂得| 国产一级精品在线| 精品国产在天天线2019| 成人18精品视频| 蜜臀99久久精品久久久久久软件| 欧美国产日韩a欧美在线观看| 偷窥国产亚洲免费视频| 久久久国产综合精品女国产盗摄| 欧美性色欧美a在线播放| 久久99久久精品欧美| 91精品国产综合久久婷婷香蕉| 国产精品一区二区视频| 亚洲国产精品一区二区尤物区| 国产欧美日韩精品a在线观看| 91九色最新地址| 亚洲观看高清完整版在线观看| 26uuu色噜噜精品一区| 欧美色偷偷大香| 99久久99精品久久久久久| 蜜臀a∨国产成人精品| 亚洲电影欧美电影有声小说| 国产精品日日摸夜夜摸av| 3atv在线一区二区三区| 91丨九色丨尤物| 国产成人av电影在线| 精品一区二区国语对白| 亚洲二区在线视频| 亚洲日穴在线视频| 国产精品毛片大码女人| 国产日本一区二区| 日韩一级视频免费观看在线| 欧洲人成人精品| 日本成人在线看| 亚洲成人av中文| 亚洲午夜成aⅴ人片| 亚洲综合在线视频| 一区二区三区在线观看动漫| **网站欧美大片在线观看| 久久久久久亚洲综合影院红桃| 精品国产91洋老外米糕| 日韩丝袜情趣美女图片| 欧美精品免费视频| 5566中文字幕一区二区电影| 欧美日韩精品一区二区天天拍小说 | 亚洲综合小说图片| 亚洲在线视频网站| 亚洲成年人影院| 奇米影视在线99精品| 日日摸夜夜添夜夜添国产精品 | 久久久久99精品国产片| 国产色综合久久| 欧美国产丝袜视频| 国产精品美女一区二区| 亚洲欧洲美洲综合色网| 亚洲女女做受ⅹxx高潮| 午夜亚洲国产au精品一区二区| 亚洲成人资源在线| 久久aⅴ国产欧美74aaa| 福利一区二区在线| 91在线观看高清| 欧美日韩国产另类不卡| 日韩精品一区二区三区四区视频| 精品国产亚洲一区二区三区在线观看| 精品国产露脸精彩对白| 久久久精品日韩欧美| 亚洲乱码日产精品bd| 午夜伦理一区二区| 国产精品99久久久久| 91美女片黄在线观看| 91精品欧美综合在线观看最新| 日韩欧美的一区| 亚洲国产成人私人影院tom| 亚洲精品久久嫩草网站秘色| 视频一区二区三区入口| 国产精品综合二区| 欧美亚洲国产一区二区三区va| 91精品国产综合久久精品图片| 久久这里只精品最新地址| 最新欧美精品一区二区三区| 日韩激情视频在线观看| 成人精品国产福利| 5566中文字幕一区二区电影| 国产精品视频免费| 日韩电影一区二区三区四区| 丁香天五香天堂综合| 538在线一区二区精品国产| 国产欧美精品一区二区色综合| 亚洲一卡二卡三卡四卡五卡| 国产精品一区专区| 91精品国产乱码| 亚洲免费成人av| 成人av资源站| 久久影院午夜片一区| 日韩专区一卡二卡|