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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? build_in.c

?? harvest是一個(gè)下載html網(wǎng)頁得機(jī)器人
?? C
?? 第 1 頁 / 共 5 頁
字號(hào):
    printf("%d\n", system(s));#endif#if	0    printf("merged\n");    sprintf(s, "exec %s -10 '%s/%s'\n", SYSTEM_HEAD, escapesinglequote(INDEX_DIR, es1), INDEX_FILE);    system(s);#endif	/*0*/}/* --------------------------------------------------------------------build_hash():input: a set of filenames in name_list[], a partition table p_table[]output: a hash table hash_table[].-----------------------------------------------------------------------*/build_hash(){    int	fd;                          /* opened file number */    int  i, pn;                  /* pn: current partition */    int  num_read;    char word[256];    struct stat stbuf;    int offset;    int toread;    unsigned char *buffer;	/* running pointer for getword = place where reads begin */    unsigned char *bx;		/* running pointer for read-loop, initially buffer */    unsigned char *buffer_end;	/* place where getword should stop */    unsigned char *buffer_begin;/* constant pointer to beginning */    unsigned char *next_record;	/* pointer that tells where the current record ends: if buffer (returned by getword) is >= this, increment ICurrentFileOffset */    unsigned char *last_record;	/* pointer that tells where the last record ends: may or may not be > buffer_end, but surely <= bx the last byte read */    int residue;	/* extra variable to store buffer_begin + BLOCK_SIZE - buffer_end */    int tried_once = 0;    int attribute;    int ret;    char outname[MAX_LINE_LEN];    char *unlinkname = NULL;    int pid = getpid();    if (StructuredIndex) region_initialize();    init_hash_table();#ifdef debug    printf("entering build_hash(), part_num=%d\n", part_num);#endif    tried_once = 0;try_again_1:    buffer_begin = buffer = (unsigned char *) my_malloc(sizeof(char)* BLOCK_SIZE + 10);	/* always read in units of BLOCK_SIZE or less */    if(buffer == NULL) {	fprintf(stderr, "not enough memory in build_hash\n");	if (tried_once) return;	traverse1();	init_hash_table();	tried_once = 1;	goto try_again_1;    }    bx = buffer;    if (OneFilePerBlock) {	for(i=0; i<file_num; i++) {	    unlinkname = NULL;	    if ((disable_list != NULL) && (i<old_file_num) && (disable_list[block2index(i)] & mask_int[i%(8*sizeof(int))])) continue;	    if (LIST_GET(name_list, i) == NULL) continue;	    if ((ret = tuncompress_file(LIST_GET(name_list, i), outname, TC_EASYSEARCH | TC_OVERWRITE | TC_NOPROMPT)) > 0) {	/* do not remove old .TZ file */		if (StructuredIndex && (-1 == region_create(outname))) {		    fprintf(stderr, "permission denied or non-existent file: %s\n", LIST_GET(name_list, i));		    remove_filename(i, -1);		    continue;		}		if (((fd = my_open(outname, O_RDONLY, 0)) == -1) ) {		    fprintf(stderr, "permission denied or non-existent file: %s\n", LIST_GET(name_list, i));		    remove_filename(i, -1);		    if (StructuredIndex) region_destroy();	/* cannot happen! */		    unlink(outname);		    continue;		}		unlinkname = outname;		goto index_file1;	    }	    /* Try to apply the filter */	    sprintf(outname, "%s/.glimpse_apply.%d", INDEX_DIR, pid);	    if ((ret = apply_filter(LIST_GET(name_list, i), outname)) == 1) {		/* Some pattern matched AND some filter was successful */		if (StructuredIndex && (-1 == region_create(outname))) {		    fprintf(stderr, "permission denied or non-existent file: %s\n", LIST_GET(name_list, i));		    remove_filename(i, -1);		    continue;		}		if (((fd = my_open(outname, O_RDONLY)) == -1) ) {	/* error: shouldn't have returned 1! */		    fprintf(stderr, "permission denied or non-existent file: %s\n", LIST_GET(name_list, i));		    remove_filename(i, -1);		    if (StructuredIndex) region_destroy();	/* cannot happen! */		    unlink(outname);		    continue;		}		unlinkname = outname;		goto index_file1;	    }	    else if (ret == 2) {		/* Some pattern matched but no filter was successful */		if (filetype(LIST_GET(name_list, i), 0, NULL, NULL)) {	/* try to index input file if it satisfies filetype */		    remove_filename(i, -1);		    unlink(outname);		    continue;		}		unlinkname = outname;	    }	    if (StructuredIndex && (-1 == region_create(LIST_GET(name_list, i)))) {		fprintf(stderr, "permission denied or non-existent file: %s\n", LIST_GET(name_list, i));		remove_filename(i, -1);		continue;	    }            if (((fd = my_open(LIST_GET(name_list, i), O_RDONLY, 0)) == -1) ) {		fprintf(stderr, "permission denied or non-existent file: %s\n", LIST_GET(name_list, i));		remove_filename(i, -1);		if (StructuredIndex) region_destroy();	/* cannot happen! */		if (unlinkname != NULL) unlink(unlinkname);		continue;            }	index_file1:#ifdef SW_DEBUG	    if (AddToIndex || FastIndex) printf("adding words of %s in %d\n", LIST_GET(name_list,i), i);	    printf("%s\n", LIST_GET(name_list, i));#endif	    /* my_stat(LIST_GET(name_list, i), &stbuf); Chris Dalton */	    fstat(fd, &stbuf);#ifdef	SW_DEBUG	    printf("filesize: %d\n", stbuf.st_size);#endif#ifdef	UDI_DEBUG	    printf("%s  ", LIST_GET(name_list, i));	    printf("size: %d  ", stbuf.st_size);#endif	    /* buffer always points to a BLOCK_SIZE block of allocated memory */	    buffer = buffer_begin;	    residue = 0;	    if (RecordLevelIndex) {		if (!StoreByteOffset) NextICurrentFileOffset = ICurrentFileOffset = 1;		else NextICurrentFileOffset = ICurrentFileOffset = 0;	    }	    for (offset = 0; offset < stbuf.st_size; offset += BLOCK_SIZE) {		offset -= residue;		if (!RecordLevelIndex) NextICurrentFileOffset = ICurrentFileOffset = offset;		toread = offset + BLOCK_SIZE >= stbuf.st_size ? stbuf.st_size - offset : BLOCK_SIZE;		lseek(fd, offset, SEEK_SET);		bx= buffer;		num_read = 0;		while ((toread > 0) && ((num_read = read(fd, bx, toread)) < toread)) {		    if (num_read <= 0) {			buffer = bx;			fprintf(stderr, "read error on file %s at offset %d\n", LIST_GET(name_list, i), offset);			goto break_break1;	/* C doesn't have break; break; */		    }		    bx += num_read;		    toread -= num_read;		}		if (num_read >= toread) {			bx += num_read;			toread -= num_read;		}		buffer_end = bx;		residue = 0;		if (buffer_end == buffer_begin + BLOCK_SIZE) {			if (RecordLevelIndex) {				buffer_end = backward_delimiter(buffer_end /* NOT bx */, buffer, rdelim, rdelim_len, 0);			}			else {				while ((INDEXABLE(*(buffer_end-1))) && (buffer_end > buffer_begin + MAX_WORD_SIZE)) buffer_end --;			}			residue = buffer_begin + BLOCK_SIZE - buffer_end;			/* if (residue > 0) printf("residue = %d in %s at %d\n", residue, LIST_GET(name_list, i), offset); */		}		if (RecordLevelIndex) {			next_record = forward_delimiter(buffer, buffer_end, rdelim, rdelim_len, 0);		}		bx = buffer; 		PrintedLongWordWarning = 0;		while ((buffer=(unsigned char *) getword(LIST_GET(name_list, i), word, buffer, buffer_end, &attribute, &next_record)) < buffer_end) {		    if (RecordLevelIndex) {			if (buffer >= next_record) {			    next_record = forward_delimiter(buffer, buffer_end, rdelim, rdelim_len, 0);			    if (StoreByteOffset) ICurrentFileOffset += next_record - buffer;			    else ICurrentFileOffset ++;			}		    }		    /* printf("%s\n", word); */		    if(word[0] == '\0') continue;		    if(icount - hash_icount >= I_THRESHOLD) {#if	BG_DEBUG			fprintf(LOGFILE, "reached I_THRESHOLD at %d\n", icount - hash_icount);#endif	/*BG_DEBUG*/			traverse1();			init_hash_table();			hash_icount = icount;		    }		    insert_h(word, i, attribute);		}		if (word[0] != '\0') {		    /* printf("%s\n", word); */		    if(icount - hash_icount >= I_THRESHOLD) {#if	BG_DEBUG			fprintf(LOGFILE, "reached I_THRESHOLD at %d\n", icount - hash_icount);#endif	/*BG_DEBUG*/			traverse1();			init_hash_table();			hash_icount = icount;		    }		    insert_h(word, i, attribute);		}		if (RecordLevelIndex) {			if (buffer >= next_record) {			    /* next_record = forward_delimiter(buffer, buffer_end, rdelim, rdelim_len, 0); */			    ICurrentFileOffset ++;			}		}		buffer = buffer_begin;		next_record = buffer;	    }	break_break1:            close(fd);	    if (unlinkname != NULL) unlink(unlinkname);#ifdef	UDI_DEBUG	    printf("add to index: %d\n",icount-save_icount);#endif	    if ((MAXWORDSPERFILE > 0) && (icount-save_icount > MAXWORDSPERFILE)) {		fprintf(MESSAGEFILE, "%d words are contributed by %s\n",			icount-save_icount, LIST_GET(name_list, i));		AddedMaxWordsMessage = ON;	    }	    if (IndexNumber && NUMERICWORDPERCENT && (numeric_icount * 100 > (icount - save_icount) * NUMERICWORDPERCENT) && (icount - save_icount > MIN_WORDS)) {		fprintf(MESSAGEFILE, "NUMBERS occur in %d%% of %d words contributed by %s\n", (numeric_icount * 100)/(icount - save_icount), icount - save_icount, LIST_GET(name_list, i));		AddedMixedWordsMessage = ON;	    }	    numeric_icount=0;	    save_icount=icount;	    if (StructuredIndex) region_destroy();        }	traverse1();	init_hash_table();	hash_icount = icount;	my_free(buffer_begin, BLOCK_SIZE + 10);	return;    }    for(pn=1; pn < part_num; pn++)	/* partition # 0 is not accessed */    {	if (pn == '\n') continue;	/* There cannot be a partition # '\n' or 0: see partition.c */	for(i=p_table[pn]; i<p_table[pn+1]; i++) {	    unlinkname = NULL;	    if ((disable_list != NULL) && (i<old_file_num) && (disable_list[block2index(i)] & mask_int[i%(8*sizeof(int))])) continue;	    if (LIST_GET(name_list, i) == NULL) continue;	    if (BuildDictionaryExisting) {		if (((fd = my_open(LIST_GET(name_list, i), O_RDONLY, 0)) == -1) ) {		    fprintf(stderr, "permission denied or non-existent file: %s\n", LIST_GET(name_list, i));		    remove_filename(i, -1);		    continue;		}		if (!CompressAfterBuild) unlinkname = LIST_GET(name_list, i);	/* not needed anymore */		goto index_file2;	    }	    if ((ret = tuncompress_file(LIST_GET(name_list, i), outname, TC_EASYSEARCH | TC_OVERWRITE | TC_NOPROMPT)) > 0) {	/* do not remove old .TZ file */		if (StructuredIndex && (-1 == region_create(outname))) {		    fprintf(stderr, "permission denied or non-existent file: %s\n", LIST_GET(name_list, i));		    remove_filename(i, -1);		    continue;		}		if (((fd = my_open(outname, O_RDONLY, 0)) == -1) ) {		    fprintf(stderr, "permission denied or non-existent file: %s\n", LIST_GET(name_list, i));		    remove_filename(i, -1);		    if (StructuredIndex) region_destroy();	/* cannot happen! */		    unlink(outname);		    continue;		}		if (BuildDictionary && CompressAfterBuild) strcpy(LIST_GET(name_list, i), outname); /* name of clear file will be smaller, so enough space */		else unlinkname = outname;		goto index_file2;	    }	    /* Try to apply the filter */	    sprintf(outname, "%s/.glimpse_apply.%d", INDEX_DIR, pid);	    if ((ret = apply_filter(LIST_GET(name_list, i), outname)) == 1) {		/* Some pattern matched AND some filter was successful */		if (StructuredIndex && (-1 == region_create(outname))) {		    fprintf(stderr, "permission denied or non-existent file: %s\n", LIST_GET(name_list, i));		    remove_filename(i, -1);		    continue;		}		if (((fd = my_open(outname, O_RDONLY)) == -1) ) {	/* error: shouldn't have returned 1! */		    fprintf(stderr, "permission denied or non-existent file: %s\n", LIST_GET(name_list, i));		    remove_filename(i, -1);		    if (StructuredIndex) region_destroy();	/* cannot happen! */		    unlink(outname);		    continue;		}		unlinkname = outname;		goto index_file2;	    }	    else if (ret == 2) {		/* Some pattern matched but no filter was successful */		if (filetype(LIST_GET(name_list, i), 0, NULL, NULL)) {	/* try to index input file if it satisfies filetype */		    remove_filename(i, -1);		    unlink(outname);		    continue;		}		unlinkname = outname;	    }	    if (StructuredIndex && (-1 == region_create(LIST_GET(name_list, i)))) {		fprintf(stderr, "permission denied or non-existent file: %s\n", LIST_GET(name_list, i));		remove_filename(i, -1);		continue;	    }            if (((fd = my_open(LIST_GET(name_list, i), O_RDONLY)) == -1) ) {		fprintf(stderr, "permission denied or non-existent file: %s\n", LIST_GET(name_list, i));		remove_filename(i, -1);		if (StructuredIndex) region_destroy();	/* cannot happen! */		if (unlinkname != NULL) unlink(unlinkname);		continue;            }	index_file2:#ifdef SW_DEBUG	    if (AddToIndex || FastIndex) printf("adding words of %s in %d\n", LIST_GET(name_list, i), pn);	    printf("%s\n", LIST_GET(name_list, i));#endif	    /* my_stat(LIST_GET(name_list, i), &stbuf); Chris Dalton */	    fstat(fd, &stbuf);#ifdef	SW_DEBUG	    printf("filesize: %d\n", stbuf.st_size);#endif#ifdef	UDI_DEBUG	    printf("%s  ", LIST_GET(name_list, i));	    printf("size: %d  ", stbuf.st_size);#endif	    /* buffer always points to a BLOCK_SIZE block of allocated memory */	    buffer = buffer_begin;	    residue = 0;	    if (RecordLevelIndex) {		if (!StoreByteOffset) NextICurrentFileOffset = ICurrentFileOffset = 1;		else NextICurrentFileOffset = ICurrentFileOffset = 0;	    }	    for (offset = 0; offset < stbuf.st_size; offset += BLOCK_SIZE) {		offset -= residue;		if (!RecordLevelIndex) NextICurrentFileOffset = ICurrentFileOffset = offset;		toread = offset + BLOCK_SIZE >= stbuf.st_size ? stbuf.st_size - offset : BLOCK_SIZE;		lseek(fd, offset, SEEK_SET);		bx= buffer;		num_read = 0;		while ((toread > 0) && ((num_read = read(fd, bx, toread)) < toread)) {		    if (num_read <= 0) {			buffer = bx;			fprintf(stderr, "read error on file %s at offset %d\n", LIST_GET(name_list, i), offset);			goto break_break2;	/* C doesn't have break; break; */		    }		    bx += num_read;		    toread -= num_read;		}		if (num_read >= toread) {			bx += num_read;			toread -= num_read;		}		buffer_end = bx;		residue = 0;		if (buffer_end == buffer_begin + BLOCK_SIZE) {			if (RecordLevelIndex) {				buffer_end = backward_delimiter(buffer_end /* NOT bx */, buffer, rdelim, rdelim_len, 0);			}			else {				while ((INDEXABLE(*(buffer_end-1))) && (buffer_end > buffer_begin + MAX_WORD_SIZE)) buffer_end --;			}			residue = buffer_begin + BLOCK_SIZE - buffer_end;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品久久久男人的天堂 | 色屁屁一区二区| 午夜视频久久久久久| 久久久国产精品麻豆| 欧美乱妇20p| 91麻豆高清视频| 国产主播一区二区| 亚洲国产中文字幕| 国产精品国产三级国产aⅴ无密码| 欧美日韩精品电影| a美女胸又www黄视频久久| 久久99精品国产麻豆不卡| 亚洲一区二区偷拍精品| 国产精品美女一区二区在线观看| 欧美不卡激情三级在线观看| 在线观看区一区二| 91一区二区三区在线播放| 国产成人在线影院| 精品一区二区三区影院在线午夜 | 久久综合色综合88| 91精品国产综合久久久蜜臀粉嫩 | 国产成人精品一区二区三区四区 | 日韩成人午夜精品| 亚洲综合久久av| 亚洲欧美国产三级| 亚洲日本一区二区| 国产精品天美传媒沈樵| 亚洲精品一区二区三区蜜桃下载| 91麻豆精品久久久久蜜臀| 欧美伊人久久久久久午夜久久久久| av在线一区二区三区| 不卡av免费在线观看| 高清不卡一二三区| 成人一区二区三区视频在线观看| 国产一区二区三区日韩| 久久99热狠狠色一区二区| 免费人成在线不卡| 久久精品国产**网站演员| 日韩vs国产vs欧美| 久久精品二区亚洲w码| 久久精品久久精品| 国产综合色视频| 国产精华液一区二区三区| 国产一区二区免费看| 国产精品中文字幕日韩精品| 国产成人三级在线观看| 国产91在线观看丝袜| heyzo一本久久综合| 91香蕉视频黄| 欧美调教femdomvk| 91精品国产色综合久久ai换脸| 69久久99精品久久久久婷婷| 欧美高清视频在线高清观看mv色露露十八| 欧美日本在线播放| 欧美一二三区在线| 久久精品无码一区二区三区| 欧美激情一区二区三区不卡| 日韩美女精品在线| 石原莉奈在线亚洲二区| 美日韩一区二区| 国产福利一区在线| 色综合激情五月| 欧美一区二区日韩| 国产亚洲人成网站| 伊人开心综合网| 首页国产欧美久久| 国产电影精品久久禁18| 99久久婷婷国产| 欧美日韩精品免费| 精品久久久久久无| 亚洲视频1区2区| 五月综合激情日本mⅴ| 极品尤物av久久免费看| 风流少妇一区二区| 欧美色图片你懂的| 日韩欧美成人激情| 亚洲天堂免费看| 蜜桃视频一区二区三区| 国产乱人伦偷精品视频不卡| 色综合一区二区三区| 91麻豆精品91久久久久同性| 精品成人在线观看| 一二三区精品福利视频| 人人爽香蕉精品| 99久久久久免费精品国产 | 中文字幕在线不卡一区| 亚洲一区二区三区免费视频| 精品一区在线看| 91成人国产精品| 欧美精品一区男女天堂| 亚洲一区免费视频| 国产精品原创巨作av| 欧美日韩黄视频| 亚洲欧洲一区二区在线播放| 舔着乳尖日韩一区| 波多野结衣视频一区| 欧美一卡二卡在线观看| 亚洲欧美一区二区在线观看| 麻豆免费看一区二区三区| 91免费视频网| 久久久久久日产精品| 亚洲成精国产精品女| 成人午夜看片网址| 精品日韩一区二区| 午夜成人免费视频| 一本到三区不卡视频| 久久夜色精品国产欧美乱极品| 亚洲黄色片在线观看| 国产精品18久久久久久久网站| 欧美乱妇15p| 一区二区三区日韩欧美精品| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 久久蜜桃一区二区| 男人的j进女人的j一区| 在线观看免费成人| 亚洲欧美日韩人成在线播放| 国产乱一区二区| 精品国产3级a| 国内精品伊人久久久久影院对白| 欧美群妇大交群的观看方式| 亚洲免费在线播放| 不卡一区在线观看| 日本一区二区三区电影| 国产在线日韩欧美| 精品国产乱码久久久久久老虎| 午夜国产不卡在线观看视频| 欧美在线free| 亚洲一区二区三区四区五区黄| 99国产精品99久久久久久| 中文在线免费一区三区高中清不卡| 国产一区二区导航在线播放| 日韩精品自拍偷拍| 精品一区二区久久久| 日韩一区二区三区视频在线观看| 日本中文在线一区| 91精品福利在线一区二区三区| 午夜欧美视频在线观看| 欧美剧情片在线观看| 日本最新不卡在线| 欧美成人精品1314www| 另类小说图片综合网| 精品国产电影一区二区 | 在线视频你懂得一区二区三区| 亚洲色图一区二区三区| 91女神在线视频| 亚洲线精品一区二区三区 | 精品国产91洋老外米糕| 精品在线亚洲视频| 国产欧美一区二区精品仙草咪| 丰满少妇在线播放bd日韩电影| 国产精品久久久久久久岛一牛影视| 国产成人欧美日韩在线电影| 国产精品三级视频| 色婷婷精品大在线视频| 亚洲成人在线免费| 精品福利av导航| 国产999精品久久久久久| 中文字幕亚洲一区二区va在线| 一本色道久久综合狠狠躁的推荐 | 亚洲一区二区三区视频在线播放 | 久久精品国产亚洲aⅴ| 2014亚洲片线观看视频免费| 国产69精品一区二区亚洲孕妇| 亚洲天堂免费在线观看视频| 欧美三片在线视频观看| 免费亚洲电影在线| 国产欧美视频在线观看| 91网页版在线| 日本中文在线一区| 国产欧美精品一区aⅴ影院| 色综合中文字幕国产 | 亚洲高清不卡在线观看| 欧美一区二区视频观看视频 | 欧美日韩一区高清| 久久电影网电视剧免费观看| 欧美国产日本韩| 欧美日韩亚洲不卡| 国产99精品在线观看| 亚洲一区二区精品久久av| 精品电影一区二区| 91福利视频在线| 国产在线播精品第三| 亚洲美腿欧美偷拍| 欧美一区二区观看视频| 成人动漫一区二区在线| 日本视频在线一区| 中文字幕一区免费在线观看| 欧美高清视频在线高清观看mv色露露十八 | 国产精品网曝门| 91精品国产综合久久香蕉的特点| 风间由美一区二区av101| 天天亚洲美女在线视频| 中文字幕在线播放不卡一区| 7777女厕盗摄久久久| www.av精品| 激情欧美一区二区| 亚洲大型综合色站| 亚洲视频电影在线| 久久网这里都是精品| 精品视频一区二区不卡|