亚洲欧美第一页_禁久久精品乱码_粉嫩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久久综合精品| 久草精品在线观看| 亚洲国产综合在线| 国产精品进线69影院| 久久综合久久综合亚洲| 欧美日韩高清一区二区| 色网综合在线观看| 懂色av一区二区三区免费看| 激情综合网最新| 日韩精品一二三| 亚洲一级二级三级| 亚洲欧洲日本在线| 日本一区二区三区在线观看| 欧美一二三在线| 欧美老年两性高潮| 91黄视频在线| 一本久久综合亚洲鲁鲁五月天| 成人免费三级在线| 国产不卡一区视频| 国产夫妻精品视频| 国产一区二区三区在线观看免费视频| 日韩高清在线观看| 日韩电影在线免费看| 午夜久久久影院| 视频一区欧美精品| 日韩高清不卡在线| 青青草成人在线观看| 日产国产欧美视频一区精品| 五月婷婷久久丁香| 日韩高清国产一区在线| 青青草国产精品97视觉盛宴| 免费高清视频精品| 精品一区二区三区在线观看| 久久国产成人午夜av影院| 日本不卡一区二区三区高清视频| 午夜激情一区二区三区| 日日摸夜夜添夜夜添精品视频 | 在线精品观看国产| 色av一区二区| 欧美日韩精品是欧美日韩精品| 欧美怡红院视频| 91麻豆精品国产综合久久久久久 | 欧美日韩国产一区二区三区地区| 在线一区二区三区四区| 欧美系列亚洲系列| 欧美日韩第一区日日骚| 欧美一区二区福利视频| 337p日本欧洲亚洲大胆精品| 国产日韩视频一区二区三区| 国产精品久久久久精k8| 亚洲另类在线制服丝袜| 午夜欧美在线一二页| 久久精品国产秦先生| 粉嫩13p一区二区三区| 91丝袜呻吟高潮美腿白嫩在线观看| 色婷婷av一区二区三区大白胸| 欧美三日本三级三级在线播放| 91精品国产综合久久久久久久| 欧美岛国在线观看| 国产精品亲子伦对白| 亚洲永久精品国产| 久久电影国产免费久久电影| 国产成人午夜精品5599| 一本到不卡免费一区二区| 欧美一区二区女人| 中文字幕不卡在线观看| 亚洲一级在线观看| 国产一区二区三区美女| 色综合天天综合网天天狠天天| 欧美久久久一区| 欧美国产激情一区二区三区蜜月| 亚洲一区在线观看免费观看电影高清| 蜜桃传媒麻豆第一区在线观看| 风间由美一区二区三区在线观看 | 精品免费日韩av| 国产精品久久久久婷婷二区次| 亚洲午夜一区二区三区| 激情久久五月天| 91久久国产综合久久| 久久免费美女视频| 亚洲va韩国va欧美va| 粉嫩一区二区三区在线看| 欧美日韩大陆在线| 中文字幕不卡在线| 美腿丝袜亚洲三区| 欧美在线观看视频一区二区| 久久日韩粉嫩一区二区三区| 亚洲国产精品一区二区久久恐怖片 | 国产剧情一区在线| 欧美日韩亚洲综合| 亚洲欧洲美洲综合色网| 久久国产精品72免费观看| 91福利社在线观看| 国产欧美一区二区精品性色 | 久久国产精品区| 欧美午夜电影网| 国产精品福利影院| 经典三级在线一区| 91精品午夜视频| 亚洲精品第1页| jiyouzz国产精品久久| 精品理论电影在线| 天天av天天翘天天综合网| 99国产一区二区三精品乱码| 久久尤物电影视频在线观看| 午夜精品久久久久久久久久久| 91色综合久久久久婷婷| 国产精品久久毛片a| 国产精品一区免费视频| 欧美成人高清电影在线| 三级不卡在线观看| 欧美日韩成人在线| 亚洲va韩国va欧美va精品| 91豆麻精品91久久久久久| 国产精品色在线| 高清国产一区二区三区| 国产亚洲综合在线| 国产在线乱码一区二区三区| 日韩三级视频中文字幕| 视频在线观看一区二区三区| 欧美日韩国产高清一区二区| 亚洲国产精品影院| 欧美日韩一区成人| 亚洲高清中文字幕| 欧美日韩一区高清| 亚洲电影激情视频网站| 在线观看网站黄不卡| 一区二区三区美女| 精品婷婷伊人一区三区三| 亚洲国产中文字幕在线视频综合| 色女孩综合影院| 亚洲一区二区av电影| 在线电影一区二区三区| 日韩国产欧美视频| 日韩欧美一级二级三级久久久| 老鸭窝一区二区久久精品| 日韩欧美不卡一区| 国产在线日韩欧美| 亚洲国产精品精华液2区45| av亚洲精华国产精华| 亚洲男人天堂av网| 欧美午夜寂寞影院| 免费成人美女在线观看.| 久久网站热最新地址| 国产精品乡下勾搭老头1| 国产精品伦理一区二区| 色哦色哦哦色天天综合| 亚洲午夜免费福利视频| 欧美一级艳片视频免费观看| 精品中文字幕一区二区| 国产日产精品一区| 91美女片黄在线| 午夜婷婷国产麻豆精品| 精品国产电影一区二区| 99国产精品99久久久久久| 亚洲综合免费观看高清完整版 | av午夜精品一区二区三区| 尤物在线观看一区| 欧美一区二区三区不卡| 国产一区二区主播在线| 国产精品国产三级国产普通话三级 | 欧美经典一区二区| 一本大道久久a久久精品综合| 婷婷成人激情在线网| 国产无遮挡一区二区三区毛片日本| 99久久99久久精品免费观看| 婷婷成人激情在线网| 久久久久国产精品人| 色88888久久久久久影院野外| 免费观看久久久4p| 亚洲欧洲精品一区二区三区不卡| 欧美精品色综合| 国产精品18久久久久久久久| 亚洲黄一区二区三区| 日韩欧美一二三四区| 91免费国产视频网站| 麻豆91免费观看| 亚洲男帅同性gay1069| 欧美v亚洲v综合ⅴ国产v| 99久久99久久精品免费看蜜桃| 免费的成人av| 一区二区免费在线| 久久久久久电影| 欧美另类videos死尸| 不卡视频免费播放| 日本亚洲免费观看| 亚洲人成精品久久久久久| 精品奇米国产一区二区三区| 欧美性色欧美a在线播放| 高潮精品一区videoshd| 卡一卡二国产精品| 一区二区三区四区视频精品免费 | 91精品国产免费|