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

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

?? cdb_make.c

?? 打魔獸戰網的都知道他是什么
?? C
字號:
/* basic cdb creation routines * * This file is a part of tinycdb package by Michael Tokarev, mjt@corpit.ru. * Public domain. */#include "common/setup_before.h"#include <stdio.h>#ifdef STDC_HEADERS# include <stdlib.h>#else# ifdef HAVE_MALLOC_H#  include <malloc.h># endif#endif#ifdef HAVE_STRING_H# include <string.h>#else# ifdef HAVE_STRINGS_H#  include <strings.h># endif# ifdef HAVE_MEMORY_H#  include <memory.h># endif#endif#include "common/xalloc.h"#include "cdb_int.h"#include "common/setup_after.h"voidcdb_pack(unsigned num, unsigned char buf[4]){  buf[0] = num & 255; num >>= 8;  buf[1] = num & 255; num >>= 8;  buf[2] = num & 255;  buf[3] = num >> 8;}intcdb_make_start(struct cdb_make *cdbmp, FILE *fd){  memset(cdbmp, 0, sizeof(*cdbmp));  cdbmp->cdb_fd = fd;  cdbmp->cdb_dpos = 2048;  cdbmp->cdb_bpos = cdbmp->cdb_buf + 2048;  return 0;}static intewrite(FILE *fd, const char *buf, int len){  while(len) {    int l = fwrite(buf, 1, len, fd);    if (l < 0 && errno != EINTR)      return -1;    len -= l;    buf += l;  }  return 0;}int_cdb_make_write(struct cdb_make *cdbmp, const char *ptr, unsigned len){  unsigned l = sizeof(cdbmp->cdb_buf) - (cdbmp->cdb_bpos - cdbmp->cdb_buf);  cdbmp->cdb_dpos += len;  if (len > l) {    memcpy(cdbmp->cdb_bpos, ptr, l);    if (ewrite(cdbmp->cdb_fd, cdbmp->cdb_buf, sizeof(cdbmp->cdb_buf)) < 0)      return -1;    ptr += l; len -= l;    l = len / sizeof(cdbmp->cdb_buf);    if (l) {      l *= sizeof(cdbmp->cdb_buf);      if (ewrite(cdbmp->cdb_fd, ptr, l) < 0)	return -1;      ptr += l; len -= l;    }    cdbmp->cdb_bpos = cdbmp->cdb_buf;  }  if (len) {    memcpy(cdbmp->cdb_bpos, ptr, len);    cdbmp->cdb_bpos += len;  }  return 0;}static intcdb_make_finish_internal(struct cdb_make *cdbmp){  unsigned hcnt[256];		/* hash table counts */  unsigned hpos[256];		/* hash table positions */  struct cdb_rec *htab;  unsigned char *p;  struct cdb_rl *rl;  unsigned hsize;  unsigned t, i;  if (((0xffffffff - cdbmp->cdb_dpos) >> 3) < cdbmp->cdb_rcnt)    return errno = ENOMEM, -1;  /* count htab sizes and reorder reclists */  hsize = 0;  for (t = 0; t < 256; ++t) {    struct cdb_rl *rlt = NULL;    i = 0;    rl = cdbmp->cdb_rec[t];    while(rl) {      struct cdb_rl *rln = rl->next;      rl->next = rlt;      rlt = rl;      i += rl->cnt;      rl = rln;    }    cdbmp->cdb_rec[t] = rlt;    if (hsize < (hcnt[t] = i << 1))      hsize = hcnt[t];  }  /* allocate memory to hold max htable */  htab = (struct cdb_rec*)xmalloc((hsize + 2) * sizeof(struct cdb_rec));  if (!htab)    return errno = ENOENT, -1;  p = (unsigned char *)htab;  htab += 2;  /* build hash tables */  for (t = 0; t < 256; ++t) {    unsigned len, hi;    hpos[t] = cdbmp->cdb_dpos;    if ((len = hcnt[t]) == 0)      continue;    for (i = 0; i < len; ++i)      htab[i].hval = htab[i].rpos = 0;    for (rl = cdbmp->cdb_rec[t]; rl; rl = rl->next)      for (i = 0; i < rl->cnt; ++i) {	hi = (rl->rec[i].hval >> 8) % len;	while(htab[hi].rpos)	  if (++hi == len)	    hi = 0;	htab[hi] = rl->rec[i];      }    for (i = 0; i < len; ++i) {      cdb_pack(htab[i].hval, p + (i << 3));      cdb_pack(htab[i].rpos, p + (i << 3) + 4);    }    if (_cdb_make_write(cdbmp, p, len << 3) < 0) {      xfree(p);      return -1;    }  }  xfree(p);  if (cdbmp->cdb_bpos != cdbmp->cdb_buf &&      ewrite(cdbmp->cdb_fd, cdbmp->cdb_buf,	     cdbmp->cdb_bpos - cdbmp->cdb_buf) != 0)      return -1;  p = cdbmp->cdb_buf;  for (t = 0; t < 256; ++t) {    cdb_pack(hpos[t], p + (t << 3));    cdb_pack(hcnt[t], p + (t << 3) + 4);  }  rewind(cdbmp->cdb_fd);  if (ewrite(cdbmp->cdb_fd, p, 2048) != 0)    return -1;  return 0;}static voidcdb_make_free(struct cdb_make *cdbmp){  unsigned t;  for(t = 0; t < 256; ++t) {    struct cdb_rl *rl = cdbmp->cdb_rec[t];    while(rl) {      struct cdb_rl *tm = rl;      rl = rl->next;      xfree(tm);    }  }}intcdb_make_finish(struct cdb_make *cdbmp){  int r = cdb_make_finish_internal(cdbmp);  cdb_make_free(cdbmp);  return r;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品婷婷国产综合久久竹菊| 欧美色综合久久| 美女爽到高潮91| 同产精品九九九| 极品少妇一区二区三区精品视频| 亚洲一区视频在线| 午夜欧美电影在线观看| 亚洲成人av电影在线| 日韩专区中文字幕一区二区| 三级在线观看一区二区 | 国产剧情在线观看一区二区| 久久精品理论片| 国产精品一二三区| 97超碰欧美中文字幕| 欧美日韩中文字幕一区二区| 欧美高清性hdvideosex| 精品成人在线观看| 国产精品蜜臀av| 亚洲bt欧美bt精品| 国产美女娇喘av呻吟久久 | 亚洲欧洲综合另类在线| 亚洲乱码国产乱码精品精的特点 | 欧美成人精品二区三区99精品| 精品精品欲导航| 国产午夜亚洲精品午夜鲁丝片| 国产精品国产三级国产普通话蜜臀| 亚洲欧洲无码一区二区三区| 亚洲国产视频一区| 国产精品正在播放| 在线观看不卡视频| 欧美精品一区二区三区蜜桃视频 | 亚洲国产成人av好男人在线观看| 亚洲成人福利片| 国产成a人亚洲精品| 日本韩国一区二区三区视频| 日韩精品一区二区三区视频播放| 国产欧美视频一区二区三区| 亚洲国产va精品久久久不卡综合| 国产在线精品一区二区不卡了| 欧洲激情一区二区| 国产欧美日韩综合| 免费不卡在线观看| 欧美午夜一区二区| 中文字幕巨乱亚洲| 蜜臀久久99精品久久久画质超高清| 成人av电影观看| 精品国产一区二区三区久久久蜜月 | 99久久精品免费看| xnxx国产精品| 日韩精品福利网| 91国内精品野花午夜精品| 久久久久青草大香线综合精品| 亚洲国产日韩a在线播放| 波多野结衣在线aⅴ中文字幕不卡| 五月婷婷激情综合网| 丁香婷婷深情五月亚洲| 精品不卡在线视频| 美女网站一区二区| 欧美久久久久久蜜桃| 亚洲激情网站免费观看| 国产精品一卡二卡在线观看| 日韩一区二区三区观看| 午夜精品久久久久久久久久| 欧美午夜精品一区二区三区| 日韩毛片一二三区| 99国产精品99久久久久久| 日本一区二区免费在线观看视频| 极品少妇一区二区| 日韩欧美一区二区久久婷婷| 亚洲成a天堂v人片| 欧美日韩黄色一区二区| 亚洲最新视频在线观看| 欧美无砖砖区免费| 亚洲国产日韩a在线播放性色| 欧美日韩卡一卡二| 丝袜亚洲另类丝袜在线| 欧美精品色综合| 日本麻豆一区二区三区视频| 欧美精品免费视频| 天天操天天干天天综合网| 欧美美女直播网站| 人禽交欧美网站| 欧美成人伊人久久综合网| 久草精品在线观看| 国产视频一区二区在线| 成人不卡免费av| 亚洲综合色成人| 欧美日韩高清不卡| 久久精品国产99国产| 国产三级欧美三级日产三级99| 国产精品88av| 亚洲免费电影在线| 中文字幕亚洲视频| 欧美日韩日日摸| 国产在线精品一区二区不卡了| 国产三级三级三级精品8ⅰ区| 91视视频在线观看入口直接观看www | 丁香婷婷综合色啪| 一区二区三区欧美日韩| 在线成人小视频| 国内精品国产成人国产三级粉色| 中文字幕乱码久久午夜不卡| 91视频在线观看免费| 美女视频黄 久久| 国产精品视频yy9299一区| 欧美日韩国产综合视频在线观看| 蜜臀av性久久久久蜜臀aⅴ| 欧美激情中文字幕| 6080国产精品一区二区| 懂色av中文字幕一区二区三区| 一级女性全黄久久生活片免费| 91精品国产91久久久久久最新毛片 | 国产免费观看久久| 欧美视频在线一区二区三区| 国产一区二区免费看| 亚洲一区二区欧美激情| 久久精品一区四区| 欧美日韩一级黄| 成人国产免费视频| 另类专区欧美蜜桃臀第一页| 一区二区三区成人在线视频| 亚洲精品久久嫩草网站秘色| 26uuuu精品一区二区| 日韩激情在线观看| 国产清纯美女被跳蛋高潮一区二区久久w | 久久丝袜美腿综合| 4438x亚洲最大成人网| av激情综合网| 国产一区二区三区免费观看| 午夜精品久久久久久久久久| 亚洲精品久久久久久国产精华液| 久久久亚洲综合| 日韩欧美在线1卡| 欧美片网站yy| 欧洲激情一区二区| 91在线精品秘密一区二区| 国产精品一区在线| 韩国女主播一区| 美日韩一区二区三区| 丝袜美腿亚洲综合| 亚洲一区二区三区在线看| 亚洲同性同志一二三专区| 久久精品一区二区| 久久久99久久精品欧美| 日韩免费视频一区二区| 91精品国产乱| 日韩一区二区三| 日韩欧美一级在线播放| 欧美一级欧美三级| 欧美一区二区精品| 精品久久久久久久久久久久包黑料 | 91精品国产一区二区三区蜜臀| 欧美性猛交xxxxxx富婆| 欧美激情艳妇裸体舞| 久久久久国产一区二区三区四区| 日韩精品一区二区三区在线播放| 日韩无一区二区| 精品捆绑美女sm三区| 欧美va亚洲va香蕉在线| 久久久欧美精品sm网站| 国产日产欧美一区二区视频| 久久久午夜精品理论片中文字幕| 久久五月婷婷丁香社区| 国产亚洲精品中文字幕| 欧美国产视频在线| 亚洲三级在线播放| 亚洲丶国产丶欧美一区二区三区| 一区二区三区在线看| 日本中文在线一区| 国产精品一区久久久久| 91一区二区在线| 在线播放中文字幕一区| 精品福利一区二区三区| 中文一区在线播放| 亚洲一区在线播放| 精品在线一区二区三区| a级精品国产片在线观看| 欧美日韩在线直播| 久久嫩草精品久久久精品| 中文字幕一区二区三中文字幕| 亚洲成人福利片| 国产精品 日产精品 欧美精品| 一本久久a久久免费精品不卡| 8x8x8国产精品| 国产精品国产精品国产专区不蜜| 亚洲成人1区2区| 波多野结衣亚洲| 精品欧美一区二区三区精品久久| 综合久久综合久久| 久久成人免费网站| 欧美自拍偷拍一区| 久久亚洲二区三区| 一区二区三区国产精华| 国产又黄又大久久| 欧美日韩的一区二区| 国产精品久久综合| 久久激五月天综合精品| 欧美视频在线一区| 自拍av一区二区三区| 国产福利一区二区三区视频在线|