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

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

?? mztools.c

?? 一個本地database引擎,支持中文T_Sql查詢,兼容DELPHI標準數據庫控件
?? 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一区二区三区免费野_久草精品视频
亚洲国产精品黑人久久久| 欧美一级片在线| 国内精品写真在线观看| 亚洲国产精品视频| 亚洲成人动漫在线免费观看| 亚洲国产另类av| 亚洲一区在线播放| 日产欧产美韩系列久久99| 亚洲最快最全在线视频| 五月天精品一区二区三区| 亚洲成av人片| 久久精品国产澳门| 国产在线乱码一区二区三区| 国产盗摄精品一区二区三区在线| 国产精品白丝av| 成人午夜免费av| 色老头久久综合| 欧美日韩国产高清一区二区三区 | 久久亚洲精品国产精品紫薇| 欧美xxxxxxxx| 亚洲精品成a人| 一区二区三区免费网站| 亚洲一区二区三区四区五区黄| 日韩 欧美一区二区三区| 国产在线看一区| 91蜜桃网址入口| 欧美日韩午夜精品| 国产日韩欧美不卡| 亚洲已满18点击进入久久| 久久av资源网| 91麻豆福利精品推荐| 欧美高清视频在线高清观看mv色露露十八| 日韩视频在线你懂得| 国产精品萝li| 男女激情视频一区| va亚洲va日韩不卡在线观看| 欧美三级视频在线| 久久精品一区二区三区不卡牛牛| 自拍偷自拍亚洲精品播放| 91精品国产综合久久精品图片| 国产女人水真多18毛片18精品视频| 亚洲欧美日韩在线| 精品一二三四区| 欧美午夜片在线观看| 国产欧美精品在线观看| 午夜精品福利视频网站| 99视频在线观看一区三区| 日韩欧美国产三级电影视频| 亚洲欧洲制服丝袜| 国产精品一二三| 欧美丰满少妇xxxxx高潮对白| 国产精品国产三级国产有无不卡| 男男gaygay亚洲| 欧美日韩综合一区| 亚洲欧美日韩国产综合| 国产成人午夜高潮毛片| 日韩欧美在线123| 亚洲一二三区在线观看| 91亚洲精品乱码久久久久久蜜桃| 久久综合久久综合久久| 日本午夜精品视频在线观看| 欧美性大战久久| 亚洲欧美综合色| 成人午夜视频在线观看| 久久综合色婷婷| 韩国欧美国产1区| 欧美一区二区三区免费| 偷窥少妇高潮呻吟av久久免费| av电影在线观看不卡| 欧美国产日产图区| 国产精品一二三四区| 精品国产污网站| 美国三级日本三级久久99| 欧美性xxxxxxxx| 亚洲午夜电影在线观看| 欧美又粗又大又爽| 亚洲综合在线第一页| 色久综合一二码| 一区二区高清免费观看影视大全| 99国产精品99久久久久久| 国产精品污网站| av电影天堂一区二区在线| 欧美国产日韩精品免费观看| 国产成人日日夜夜| 国产欧美精品一区| 91网站在线播放| 一区二区三区四区高清精品免费观看| 国内不卡的二区三区中文字幕 | 亚洲精品视频在线看| 91女神在线视频| 午夜视频在线观看一区二区三区| 国产丝袜美腿一区二区三区| 国产99久久久国产精品潘金| 国产欧美日韩视频一区二区 | 亚洲mv大片欧洲mv大片精品| 6080亚洲精品一区二区| 久久99精品久久久久| 中文字幕免费在线观看视频一区| av福利精品导航| 日韩精品午夜视频| 国产偷v国产偷v亚洲高清| 日本精品视频一区二区| 日日夜夜精品视频免费| 精品成人免费观看| 91免费视频网址| 日日夜夜一区二区| 久久免费的精品国产v∧| 色综合激情久久| 国产自产v一区二区三区c| 国产精品久久影院| 欧美日韩激情一区二区| 国产麻豆午夜三级精品| 亚洲欧美日韩精品久久久久| 欧美一区三区二区| 成人爱爱电影网址| 青青国产91久久久久久| 国产精品国产自产拍在线| 日韩午夜激情免费电影| 91视频国产资源| 国内不卡的二区三区中文字幕| 综合激情成人伊人| 91精品欧美久久久久久动漫| 成人精品gif动图一区| 日韩av在线播放中文字幕| 一区二区中文视频| 精品久久久久久久久久久久久久久| 99久久精品国产毛片| 美女久久久精品| 亚洲电影视频在线| 综合久久久久综合| 欧美精品一区二区久久久| 欧美午夜不卡在线观看免费| 成人av网站在线观看免费| 麻豆精品在线播放| 视频一区国产视频| 亚洲精品一卡二卡| 亚洲桃色在线一区| 国产精品久久一级| 国产日韩影视精品| 久久久午夜精品理论片中文字幕| 欧美精品三级在线观看| 91福利视频久久久久| 福利91精品一区二区三区| 狠狠色丁香九九婷婷综合五月| 日本 国产 欧美色综合| 亚洲一区二区三区在线播放| 亚洲精品国产视频| 亚洲激情综合网| 一区二区三区美女| 亚洲国产综合91精品麻豆| 夜夜嗨av一区二区三区网页| 亚洲精品国产一区二区精华液| 亚洲色图色小说| 中文字幕亚洲精品在线观看| 国产精品高潮久久久久无| 国产亚洲短视频| 中文字幕不卡的av| 国产精品毛片无遮挡高清| 国产精品久久毛片a| 国产精品久久久久久久久免费樱桃 | 日本va欧美va精品发布| 青青草国产成人99久久| 日本午夜一本久久久综合| 久久精品国产一区二区三| 久久99这里只有精品| 韩国视频一区二区| 高潮精品一区videoshd| 91视频.com| 欧美日韩精品一区二区三区四区 | 亚洲视频1区2区| 亚洲综合免费观看高清完整版在线| 亚洲一区二区影院| 免费观看在线色综合| 国产激情视频一区二区在线观看 | 欧美老肥妇做.爰bbww视频| 91.com在线观看| 精品国产乱码久久久久久老虎| 久久久久国产精品厨房| 1024成人网色www| 亚洲成人自拍网| 国产一区二区三区最好精华液| 成人高清免费在线播放| 欧美视频日韩视频| 久久综合久久综合亚洲| 亚洲欧美日本韩国| 激情综合色综合久久| 91亚洲精品久久久蜜桃网站| 日韩一区二区在线观看视频 | 成人激情免费视频| 91精品91久久久中77777| 日韩欧美在线影院| 亚洲老司机在线| 国产一区二区女| 欧美亚洲禁片免费| 久久久久久久综合日本| 亚洲综合色自拍一区| 国产精品羞羞答答xxdd| 欧美精品久久久久久久多人混战| 精品国产一区二区三区四区四 | 国产成人无遮挡在线视频|