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

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

?? zutil.c

?? 研讀AxCrypt對加解密的處理方法
?? C
字號:
/* zutil.c -- target dependent utility functions for the compression library
 * Copyright (C) 1995-2003 Jean-loup Gailly.
 * For conditions of distribution and use, see copyright notice in zlib.h
 */

/* @(#) $Id$ */

#include "zutil.h"

#ifndef NO_DUMMY_DECL
struct internal_state      {int dummy;}; /* for buggy compilers */
#endif

#ifndef STDC
extern void exit OF((int));
#endif

const char * const z_errmsg[10] = {
"need dictionary",     /* Z_NEED_DICT       2  */
"stream end",          /* Z_STREAM_END      1  */
"",                    /* Z_OK              0  */
"file error",          /* Z_ERRNO         (-1) */
"stream error",        /* Z_STREAM_ERROR  (-2) */
"data error",          /* Z_DATA_ERROR    (-3) */
"insufficient memory", /* Z_MEM_ERROR     (-4) */
"buffer error",        /* Z_BUF_ERROR     (-5) */
"incompatible version",/* Z_VERSION_ERROR (-6) */
""};


const char * ZEXPORT zlibVersion()
{
    return ZLIB_VERSION;
}

uLong ZEXPORT zlibCompileFlags()
{
    uLong flags;

    flags = 0;
    switch (sizeof(uInt)) {
    case 2:     break;
    case 4:     flags += 1;     break;
    case 8:     flags += 2;     break;
    default:    flags += 3;
    }
    switch (sizeof(uLong)) {
    case 2:     break;
    case 4:     flags += 1 << 2;        break;
    case 8:     flags += 2 << 2;        break;
    default:    flags += 3 << 2;
    }
    switch (sizeof(voidpf)) {
    case 2:     break;
    case 4:     flags += 1 << 4;        break;
    case 8:     flags += 2 << 4;        break;
    default:    flags += 3 << 4;
    }
    switch (sizeof(z_off_t)) {
    case 2:     break;
    case 4:     flags += 1 << 6;        break;
    case 8:     flags += 2 << 6;        break;
    default:    flags += 3 << 6;
    }
#ifdef DEBUG
    flags += 1 << 8;
#endif
#if defined(ASMV) || defined(ASMINF)
    flags += 1 << 9;
#endif
#ifdef ZLIB_WINAPI
    flags += 1 << 10;
#endif
#ifdef BUILDFIXED
    flags += 1 << 12;
#endif
#ifdef DYNAMIC_CRC_TABLE
    flags += 1 << 13;
#endif
#ifdef NO_GZCOMPRESS
    flags += 1 << 16;
#endif
#ifdef NO_GZIP
    flags += 1 << 17;
#endif
#ifdef PKZIP_BUG_WORKAROUND
    flags += 1 << 20;
#endif
#ifdef FASTEST
    flags += 1 << 21;
#endif
#ifdef STDC
#  ifdef NO_vsnprintf
        flags += 1 << 25;
#    ifdef HAS_vsprintf_void
        flags += 1 << 26;
#    endif
#  else
#    ifdef HAS_vsnprintf_void
        flags += 1 << 26;
#    endif
#  endif
#else
        flags += 1 << 24;
#  ifdef NO_snprintf
        flags += 1 << 25;
#    ifdef HAS_sprintf_void
        flags += 1 << 26;
#    endif
#  else
#    ifdef HAS_snprintf_void
        flags += 1 << 26;
#    endif
#  endif
#endif
    return flags;
}

#ifdef DEBUG

#  ifndef verbose
#    define verbose 0
#  endif
int z_verbose = verbose;

void z_error (m)
    char *m;
{
    fprintf(stderr, "%s\n", m);
    exit(1);
}
#endif

/* exported to allow conversion of error code to string for compress() and
 * uncompress()
 */
const char * ZEXPORT zError(err)
    int err;
{
    return ERR_MSG(err);
}

#if defined(_WIN32_WCE)
    /* does not exist on WCE */
    int errno = 0;
#endif

#ifndef HAVE_MEMCPY

void zmemcpy(dest, source, len)
    Bytef* dest;
    const Bytef* source;
    uInt  len;
{
    if (len == 0) return;
    do {
        *dest++ = *source++; /* ??? to be unrolled */
    } while (--len != 0);
}

int zmemcmp(s1, s2, len)
    const Bytef* s1;
    const Bytef* s2;
    uInt  len;
{
    uInt j;

    for (j = 0; j < len; j++) {
        if (s1[j] != s2[j]) return 2*(s1[j] > s2[j])-1;
    }
    return 0;
}

void zmemzero(dest, len)
    Bytef* dest;
    uInt  len;
{
    if (len == 0) return;
    do {
        *dest++ = 0;  /* ??? to be unrolled */
    } while (--len != 0);
}
#endif


#ifdef SYS16BIT

#ifdef __TURBOC__
/* Turbo C in 16-bit mode */

#  define MY_ZCALLOC

/* Turbo C malloc() does not allow dynamic allocation of 64K bytes
 * and farmalloc(64K) returns a pointer with an offset of 8, so we
 * must fix the pointer. Warning: the pointer must be put back to its
 * original form in order to free it, use zcfree().
 */

#define MAX_PTR 10
/* 10*64K = 640K */

local int next_ptr = 0;

typedef struct ptr_table_s {
    voidpf org_ptr;
    voidpf new_ptr;
} ptr_table;

local ptr_table table[MAX_PTR];
/* This table is used to remember the original form of pointers
 * to large buffers (64K). Such pointers are normalized with a zero offset.
 * Since MSDOS is not a preemptive multitasking OS, this table is not
 * protected from concurrent access. This hack doesn't work anyway on
 * a protected system like OS/2. Use Microsoft C instead.
 */

voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
{
    voidpf buf = opaque; /* just to make some compilers happy */
    ulg bsize = (ulg)items*size;

    /* If we allocate less than 65520 bytes, we assume that farmalloc
     * will return a usable pointer which doesn't have to be normalized.
     */
    if (bsize < 65520L) {
        buf = farmalloc(bsize);
        if (*(ush*)&buf != 0) return buf;
    } else {
        buf = farmalloc(bsize + 16L);
    }
    if (buf == NULL || next_ptr >= MAX_PTR) return NULL;
    table[next_ptr].org_ptr = buf;

    /* Normalize the pointer to seg:0 */
    *((ush*)&buf+1) += ((ush)((uch*)buf-0) + 15) >> 4;
    *(ush*)&buf = 0;
    table[next_ptr++].new_ptr = buf;
    return buf;
}

void  zcfree (voidpf opaque, voidpf ptr)
{
    int n;
    if (*(ush*)&ptr != 0) { /* object < 64K */
        farfree(ptr);
        return;
    }
    /* Find the original pointer */
    for (n = 0; n < next_ptr; n++) {
        if (ptr != table[n].new_ptr) continue;

        farfree(table[n].org_ptr);
        while (++n < next_ptr) {
            table[n-1] = table[n];
        }
        next_ptr--;
        return;
    }
    ptr = opaque; /* just to make some compilers happy */
    Assert(0, "zcfree: ptr not found");
}

#endif /* __TURBOC__ */


#ifdef M_I86
/* Microsoft C in 16-bit mode */

#  define MY_ZCALLOC

#if (!defined(_MSC_VER) || (_MSC_VER <= 600))
#  define _halloc  halloc
#  define _hfree   hfree
#endif

voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
{
    if (opaque) opaque = 0; /* to make compiler happy */
    return _halloc((long)items, size);
}

void  zcfree (voidpf opaque, voidpf ptr)
{
    if (opaque) opaque = 0; /* to make compiler happy */
    _hfree(ptr);
}

#endif /* M_I86 */

#endif /* SYS16BIT */


#ifndef MY_ZCALLOC /* Any system without a special alloc function */

#ifndef STDC
extern voidp  malloc OF((uInt size));
extern voidp  calloc OF((uInt items, uInt size));
extern void   free   OF((voidpf ptr));
#endif

voidpf zcalloc (opaque, items, size)
    voidpf opaque;
    unsigned items;
    unsigned size;
{
    if (opaque) items += size - size; /* make compiler happy */
    return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) :
                              (voidpf)calloc(items, size);
}

void  zcfree (opaque, ptr)
    voidpf opaque;
    voidpf ptr;
{
    free(ptr);
    if (opaque) return; /* make compiler happy */
}

#endif /* MY_ZCALLOC */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看网站黄不卡| 国产精品午夜久久| 久久麻豆一区二区| 亚洲精品五月天| 久久精品国产99国产| 99精品视频在线观看免费| 日韩亚洲欧美一区二区三区| 中文字幕亚洲一区二区av在线| 日韩国产精品久久久久久亚洲| 福利91精品一区二区三区| 欧美日本乱大交xxxxx| 中文字幕一区二区三区四区| 精品亚洲免费视频| 欧美日韩国产一区| 亚洲精品菠萝久久久久久久| 国产69精品一区二区亚洲孕妇 | 欧美三级电影精品| 日本一区二区三区国色天香 | 欧美成人欧美edvon| 亚洲成人三级小说| 在线观看亚洲精品视频| 国产精品久久久一本精品| 狠狠色综合日日| 欧美电影免费观看高清完整版在线观看 | 欧美中文字幕一区| 日韩理论片网站| 成人午夜视频福利| 国产欧美视频在线观看| 国产精品亚洲专一区二区三区 | 久久久久久99久久久精品网站| 欧美aa在线视频| 4438亚洲最大| 日韩激情在线观看| 欧美日韩成人综合天天影院| 亚洲日本va午夜在线影院| 国产成人精品亚洲午夜麻豆| 久久精品人人爽人人爽| 国产伦精品一区二区三区免费迷| 欧美疯狂性受xxxxx喷水图片| 亚洲高清在线视频| 69堂国产成人免费视频| 美女国产一区二区| 日韩精品一区二区三区三区免费 | 亚洲影院理伦片| 欧美吻胸吃奶大尺度电影 | 国产精品美女视频| 不卡一卡二卡三乱码免费网站| 日本一区二区三级电影在线观看| 国产成人午夜精品5599| 国产精品美女www爽爽爽| 91在线观看下载| 亚洲精品成a人| 制服丝袜av成人在线看| 精品写真视频在线观看| 欧美激情在线看| 99久久99久久综合| 亚洲成a天堂v人片| 亚洲精品一区二区三区影院| 懂色av中文一区二区三区| 亚洲少妇30p| 精品视频在线免费| 韩国精品一区二区| 中文字幕中文字幕一区二区| 欧美曰成人黄网| 日本在线不卡视频| 国产日韩欧美激情| 在线观看日韩电影| 麻豆成人久久精品二区三区红| 国产日韩欧美高清| 欧美久久久久久久久久| 国产成人自拍网| 亚洲国产成人tv| 国产无遮挡一区二区三区毛片日本| 国产91高潮流白浆在线麻豆| 午夜一区二区三区视频| 久久免费美女视频| 欧美日本在线视频| 成人免费高清视频| 美女视频一区在线观看| 中文字幕永久在线不卡| 日韩一区二区视频| 91污在线观看| 激情综合网av| 亚洲一区二区三区四区的| 久久久久高清精品| 欧美猛男gaygay网站| 不卡一区在线观看| 激情图片小说一区| 亚洲第一主播视频| 1区2区3区国产精品| 久久这里只精品最新地址| 欧美三级在线视频| 99视频一区二区三区| 国产一区久久久| 日本不卡视频在线观看| 亚洲夂夂婷婷色拍ww47| 中文字幕一区二区三区乱码在线| 欧美电影精品一区二区 | 91在线视频免费观看| 国产精品996| 国内精品伊人久久久久av影院 | 欧美日韩一级视频| 91女人视频在线观看| 国产suv一区二区三区88区| 麻豆精品一区二区综合av| 亚洲国产日日夜夜| 一区二区三区精品| 自拍偷拍国产亚洲| 国产欧美一区二区精品性色超碰| 精品国产麻豆免费人成网站| 91精品国产一区二区三区香蕉| 在线免费av一区| 一本色道久久综合亚洲aⅴ蜜桃| 成人av第一页| 国产成人日日夜夜| 国产一区二区三区日韩| 久国产精品韩国三级视频| 久久国产人妖系列| 国精产品一区一区三区mba视频 | 日韩欧美一级精品久久| 欧美一区二区日韩| 日韩西西人体444www| 欧美一级欧美一级在线播放| 日韩欧美国产三级| 日韩免费看网站| 久久综合视频网| 久久精品一区八戒影视| 久久久av毛片精品| 国产精品久久久久影视| 亚洲日本一区二区三区| 亚洲一区在线视频| 天堂成人国产精品一区| 日韩成人av影视| 激情五月激情综合网| 粗大黑人巨茎大战欧美成人| 成人av动漫网站| 色一区在线观看| 欧美精品1区2区| 欧美精品一区二区三区蜜桃| 精品理论电影在线| 国产精品女主播av| 亚洲免费大片在线观看| 首页亚洲欧美制服丝腿| 精品在线播放免费| 波多野结衣的一区二区三区| 欧美专区亚洲专区| 欧美不卡在线视频| 亚洲婷婷国产精品电影人久久| 亚洲成人黄色影院| 韩国视频一区二区| 一本久久a久久免费精品不卡| 91精品国产综合久久福利软件| 久久久久久电影| 亚洲国产一区二区视频| 国产一区二区三区精品视频| 91免费视频大全| 日韩一区二区三区视频在线| 国产精品丝袜一区| 日韩电影在线观看电影| 成人涩涩免费视频| 欧美一区二区成人| 中文字幕一区二区三区精华液| 日本欧美肥老太交大片| 91免费精品国自产拍在线不卡| 日韩一区二区三区视频在线| 18成人在线观看| 黄一区二区三区| 欧美日韩国产高清一区二区| 国产人妖乱国产精品人妖| 亚洲成在人线在线播放| 成人免费视频视频在线观看免费 | 色婷婷国产精品综合在线观看| 7777精品久久久大香线蕉| 亚洲天天做日日做天天谢日日欢| 狠狠色狠狠色合久久伊人| 欧美午夜精品电影| 国产精品高清亚洲| 国产在线视频一区二区三区| 欧美日韩成人激情| 亚洲综合一二三区| 99久久精品国产观看| 久久久久久夜精品精品免费| 免费日韩伦理电影| 欧美日韩dvd在线观看| 亚洲欧洲综合另类| 成人性生交大片| 精品久久久久久亚洲综合网| 日韩影院在线观看| 欧美精品久久99久久在免费线| 亚洲人123区| 91免费视频观看| 亚洲欧洲国产专区| gogo大胆日本视频一区| 国产精品看片你懂得| 国产精品一线二线三线精华| 精品国产免费视频| 国产一区二区影院| 久久亚洲私人国产精品va媚药| 精品一区在线看| 精品捆绑美女sm三区|