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

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

?? mztools.c

?? StormLib是對MPQ文件進行處理的庫 MPQ是暴雪公司的私有的一種壓縮格式
?? C
字號:
/*  Additional tools for Minizip  Code: Xavier Roche '2004  License: Same as ZLIB (www.gzip.org)*//* Code */#include <stdio.h>#include <stdlib.h>#include <string.h>#include "zlib.h"#include "unzip.h"#define READ_8(adr)  ((unsigned char)*(adr))#define READ_16(adr) ( READ_8(adr) | (READ_8(adr+1) << 8) )#define READ_32(adr) ( READ_16(adr) | (READ_16((adr)+2) << 16) )#define WRITE_8(buff, n) do { \  *((unsigned char*)(buff)) = (unsigned char) ((n) & 0xff); \} while(0)#define WRITE_16(buff, n) do { \  WRITE_8((unsigned char*)(buff), n); \  WRITE_8(((unsigned char*)(buff)) + 1, (n) >> 8); \} while(0)#define WRITE_32(buff, n) do { \  WRITE_16((unsigned char*)(buff), (n) & 0xffff); \  WRITE_16((unsigned char*)(buff) + 2, (n) >> 16); \} while(0)extern int ZEXPORT unzRepair(file, fileOut, fileOutTmp, nRecovered, bytesRecovered)const char* file;const char* fileOut;const char* fileOutTmp;uLong* nRecovered;uLong* bytesRecovered;{  int err = Z_OK;  FILE* fpZip = fopen(file, "rb");  FILE* fpOut = fopen(fileOut, "wb");  FILE* fpOutCD = fopen(fileOutTmp, "wb");  if (fpZip != NULL &&  fpOut != NULL) {    int entries = 0;    uLong totalBytes = 0;    char header[30];    char filename[256];    char extra[1024];    int offset = 0;    int offsetCD = 0;    while ( fread(header, 1, 30, fpZip) == 30 ) {      int currentOffset = offset;      /* File entry */      if (READ_32(header) == 0x04034b50) {        unsigned int version = READ_16(header + 4);        unsigned int gpflag = READ_16(header + 6);        unsigned int method = READ_16(header + 8);        unsigned int filetime = READ_16(header + 10);        unsigned int filedate = READ_16(header + 12);        unsigned int crc = READ_32(header + 14); /* crc */        unsigned int cpsize = READ_32(header + 18); /* compressed size */        unsigned int uncpsize = READ_32(header + 22); /* uncompressed sz */        unsigned int fnsize = READ_16(header + 26); /* file name length */        unsigned int extsize = READ_16(header + 28); /* extra field length */        filename[0] = extra[0] = '\0';                /* Header */        if (fwrite(header, 1, 30, fpOut) == 30) {          offset += 30;        } else {          err = Z_ERRNO;          break;        }                /* Filename */        if (fnsize > 0) {          if (fread(filename, 1, fnsize, fpZip) == fnsize) {            if (fwrite(filename, 1, fnsize, fpOut) == fnsize) {              offset += fnsize;            } else {              err = Z_ERRNO;              break;            }          } else {            err = Z_ERRNO;            break;          }        } else {          err = Z_STREAM_ERROR;          break;        }        /* Extra field */        if (extsize > 0) {          if (fread(extra, 1, extsize, fpZip) == extsize) {            if (fwrite(extra, 1, extsize, fpOut) == extsize) {              offset += extsize;            } else {              err = Z_ERRNO;              break;            }          } else {            err = Z_ERRNO;            break;          }        }                /* Data */        {          int dataSize = cpsize;          if (dataSize == 0) {            dataSize = uncpsize;          }          if (dataSize > 0) {            char* data = malloc(dataSize);            if (data != NULL) {              if ((int)fread(data, 1, dataSize, fpZip) == dataSize) {                if ((int)fwrite(data, 1, dataSize, fpOut) == dataSize) {                  offset += dataSize;                  totalBytes += dataSize;                } else {                  err = Z_ERRNO;                }              } else {                err = Z_ERRNO;              }              free(data);              if (err != Z_OK) {                break;              }            } else {              err = Z_MEM_ERROR;              break;            }          }        }                /* Central directory entry */        {          char header[46];          char* comment = "";          int comsize = (int) strlen(comment);          WRITE_32(header, 0x02014b50);          WRITE_16(header + 4, version);          WRITE_16(header + 6, version);          WRITE_16(header + 8, gpflag);          WRITE_16(header + 10, method);          WRITE_16(header + 12, filetime);          WRITE_16(header + 14, filedate);          WRITE_32(header + 16, crc);          WRITE_32(header + 20, cpsize);          WRITE_32(header + 24, uncpsize);          WRITE_16(header + 28, fnsize);          WRITE_16(header + 30, extsize);          WRITE_16(header + 32, comsize);          WRITE_16(header + 34, 0);     /* disk # */          WRITE_16(header + 36, 0);     /* int attrb */          WRITE_32(header + 38, 0);     /* ext attrb */          WRITE_32(header + 42, currentOffset);          /* Header */          if (fwrite(header, 1, 46, fpOutCD) == 46) {            offsetCD += 46;                        /* Filename */            if (fnsize > 0) {              if (fwrite(filename, 1, fnsize, fpOutCD) == fnsize) {                offsetCD += fnsize;              } else {                err = Z_ERRNO;                break;              }            } else {              err = Z_STREAM_ERROR;              break;            }                        /* Extra field */            if (extsize > 0) {              if (fwrite(extra, 1, extsize, fpOutCD) == extsize) {                offsetCD += extsize;              } else {                err = Z_ERRNO;                break;              }            }                        /* Comment field */            if (comsize > 0) {              if ((int)fwrite(comment, 1, comsize, fpOutCD) == comsize) {                offsetCD += comsize;              } else {                err = Z_ERRNO;                break;              }            }                                  } else {            err = Z_ERRNO;            break;          }        }        /* Success */        entries++;      } else {        break;      }    }    /* Final central directory  */    {      int entriesZip = entries;      char header[22];      char* comment = ""; // "ZIP File recovered by zlib/minizip/mztools";      int comsize = (int) strlen(comment);      if (entriesZip > 0xffff) {        entriesZip = 0xffff;      }      WRITE_32(header, 0x06054b50);      WRITE_16(header + 4, 0);    /* disk # */      WRITE_16(header + 6, 0);    /* disk # */      WRITE_16(header + 8, entriesZip);   /* hack */      WRITE_16(header + 10, entriesZip);  /* hack */      WRITE_32(header + 12, offsetCD);    /* size of CD */      WRITE_32(header + 16, offset);      /* offset to CD */      WRITE_16(header + 20, comsize);     /* comment */            /* Header */      if (fwrite(header, 1, 22, fpOutCD) == 22) {                /* Comment field */        if (comsize > 0) {          if ((int)fwrite(comment, 1, comsize, fpOutCD) != comsize) {            err = Z_ERRNO;          }        }              } else {        err = Z_ERRNO;      }    }    /* Final merge (file + central directory) */    fclose(fpOutCD);    if (err == Z_OK) {      fpOutCD = fopen(fileOutTmp, "rb");      if (fpOutCD != NULL) {        int nRead;        char buffer[8192];        while ( (nRead = (int)fread(buffer, 1, sizeof(buffer), fpOutCD)) > 0) {          if ((int)fwrite(buffer, 1, nRead, fpOut) != nRead) {            err = Z_ERRNO;            break;          }        }        fclose(fpOutCD);      }    }        /* Close */    fclose(fpZip);    fclose(fpOut);        /* Wipe temporary file */    (void)remove(fileOutTmp);        /* Number of recovered entries */    if (err == Z_OK) {      if (nRecovered != NULL) {        *nRecovered = entries;      }      if (bytesRecovered != NULL) {        *bytesRecovered = totalBytes;      }    }  } else {    err = Z_STREAM_ERROR;  }  return err;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩视频永久免费| 91麻豆精品国产91久久久久久久久| 天天操天天干天天综合网| 国产日产欧产精品推荐色| 久久综合久久综合亚洲| 精品国产1区2区3区| 亚洲精品一区二区三区四区高清| 精品美女一区二区| 欧美成人bangbros| 国产欧美一区二区精品性色超碰| 久久夜色精品一区| 日本一区二区三区在线观看| 国产精品萝li| 亚洲欧美一区二区三区孕妇| 一区二区三区中文免费| 亚洲一区二区三区四区五区黄| 亚洲国产精品人人做人人爽| 午夜欧美2019年伦理| 美女一区二区在线观看| 国产一区二区美女诱惑| 成+人+亚洲+综合天堂| 91国模大尺度私拍在线视频| 正在播放一区二区| 国产亚洲一二三区| 一区二区三区日韩精品视频| 日韩精品国产精品| 国产精品一区二区久激情瑜伽| 成人免费电影视频| 欧美日韩国产一区二区三区地区| 欧美大片在线观看一区| 国产精品色一区二区三区| 亚洲精品中文在线观看| 日韩av一区二区三区四区| 国内精品免费在线观看| 一本大道av伊人久久综合| 欧美一区二区三区的| 国产精品久久99| 日韩有码一区二区三区| 福利电影一区二区三区| 69p69国产精品| 国产欧美一区二区精品久导航 | 欧美日韩国产成人在线免费| 欧美一级片在线| 一区二区三区在线观看欧美| 另类专区欧美蜜桃臀第一页| 色乱码一区二区三区88| 日本一区二区成人| 蜜桃av一区二区| 欧美在线观看视频一区二区| 国产日韩欧美制服另类| 蜜桃视频在线观看一区| 色狠狠桃花综合| 国产精品理伦片| 国产酒店精品激情| 这里只有精品免费| 亚洲一区二区黄色| 99久久国产综合色|国产精品| 欧美成人猛片aaaaaaa| 亚洲国产欧美另类丝袜| av在线一区二区三区| 精品美女一区二区| 日本免费在线视频不卡一不卡二 | 色婷婷精品久久二区二区蜜臂av | 中文av一区特黄| 韩国精品久久久| 日韩亚洲欧美成人一区| 亚洲成人一二三| 在线观看一区不卡| 亚洲精品一二三| 91精彩视频在线观看| 《视频一区视频二区| 成人爱爱电影网址| 国产精品短视频| 成人午夜激情视频| 中文字幕亚洲电影| 91在线小视频| 一区二区三区资源| 欧美日韩国产成人在线91| 五月综合激情网| 欧美日韩综合在线| 日韩av中文字幕一区二区三区| 欧美区在线观看| 蜜臀av国产精品久久久久 | 国产精品青草久久| av在线播放不卡| 一区二区成人在线| 欧美日韩一区视频| 日韩av高清在线观看| 精品噜噜噜噜久久久久久久久试看| 美女视频黄久久| 久久久精品免费网站| 国产成人av在线影院| 亚洲视频你懂的| 欧美日韩一区在线观看| 青青草国产精品亚洲专区无| 欧美不卡一区二区三区| 国产精品69久久久久水密桃| 中日韩av电影| 欧美色倩网站大全免费| 美洲天堂一区二卡三卡四卡视频| 久久噜噜亚洲综合| 91在线精品秘密一区二区| 亚洲一区二区三区自拍| 欧美成人bangbros| 91蜜桃在线免费视频| 日韩高清不卡一区二区三区| 久久久电影一区二区三区| 色婷婷av一区二区三区gif| 五月激情六月综合| 国产精品无遮挡| 欧美人xxxx| av不卡在线观看| 欧美bbbbb| 亚洲卡通欧美制服中文| 精品99一区二区| 色拍拍在线精品视频8848| 精品在线播放免费| 玉米视频成人免费看| 久久嫩草精品久久久精品| 91福利国产成人精品照片| 国内精品视频666| 婷婷一区二区三区| 国产精品初高中害羞小美女文| 欧美日韩大陆在线| eeuss鲁一区二区三区| 青娱乐精品视频在线| 一区二区三区不卡视频| 久久精品欧美日韩精品| 欧美日韩成人在线一区| gogogo免费视频观看亚洲一| 国产老妇另类xxxxx| 日韩不卡一区二区三区| 亚洲综合图片区| 国产精品福利av| 国产欧美精品一区二区三区四区| 91精品国产福利| 欧美人牲a欧美精品| 色综合天天性综合| a在线欧美一区| 丁香婷婷综合激情五月色| 国内精品伊人久久久久影院对白| 天天色图综合网| 天天影视网天天综合色在线播放| 亚洲黄色小视频| 亚洲欧美偷拍另类a∨色屁股| 久久精品欧美日韩精品| 久久免费电影网| 国产网站一区二区三区| 久久亚洲春色中文字幕久久久| 日韩精品资源二区在线| 91精品国产综合久久久久久漫画 | 国产婷婷一区二区| 日韩精品中文字幕在线一区| 欧美一区二区精品在线| 3atv一区二区三区| 日韩免费视频一区| 日韩久久免费av| 久久夜色精品国产欧美乱极品| 精品国产污网站| 337p日本欧洲亚洲大胆色噜噜| 日韩欧美的一区二区| 精品日韩欧美一区二区| 精品福利在线导航| 国产丝袜美腿一区二区三区| 国产三级精品三级在线专区| 国产精品色婷婷久久58| 亚洲美女偷拍久久| 亚洲午夜久久久久| 日本不卡1234视频| 国产乱对白刺激视频不卡| 国产成人精品亚洲日本在线桃色| 成人性生交大片| 色综合久久88色综合天天| 欧美日韩久久一区| 精品剧情v国产在线观看在线| 久久综合九色综合久久久精品综合| 久久久亚洲精品石原莉奈| 国产精品国产三级国产普通话三级 | 中文字幕国产一区| 亚洲女与黑人做爰| 亚洲123区在线观看| 麻豆91在线播放免费| 不卡视频免费播放| 色婷婷精品久久二区二区蜜臀av| 欧美丰满一区二区免费视频| 久久午夜老司机| 亚洲欧美日韩综合aⅴ视频| 午夜精品123| 国产成人免费视频| 欧美日韩国产欧美日美国产精品| 久久久一区二区三区捆绑**| 亚洲精品写真福利| 黑人巨大精品欧美黑白配亚洲| 99re成人精品视频| 欧美精品一区二区三区在线| 亚洲人成在线播放网站岛国| 久久成人免费日本黄色| 99re热这里只有精品免费视频| 日韩欧美国产高清| 亚洲在线视频网站|