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

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

?? asearch.c

?? agrep
?? C
字號:
/* Copyright (c) 1991 Sun Wu and Udi Manber.  All Rights Reserved. */#include "agrep.h"extern unsigned Init1, Init[], Mask[], endposition, D_endpos, AND, NO_ERR_MASK;extern int DELIMITER, FILENAMEONLY, INVERSE;extern CHAR CurrentFileName[];extern int I, num_of_matched, TRUNCATE;asearch(old_D_pat, text, D)CHAR old_D_pat[]; int text; register unsigned D;{  register unsigned i, c, r1, r2, CMask, r_NO_ERR, r_Init1;   register unsigned A0, B0, A1, B1, endpos;  unsigned A2, B2, A3, B3, A4, B4;  unsigned A[MaxError+1], B[MaxError+1];  unsigned D_Mask;  unsigned end;  int D_length, FIRSTROUND, ResidueSize, lasti, l, k, buffer_end, j=0;  int printout_end;  CHAR buffer[2*Max_record+1];       if (I == 0) Init1 = 037777777777;  if(D > 4) {         asearch0(old_D_pat, text, D);          return;  }  D_length = strlen(old_D_pat);  buffer[Max_record-1] = '\n';  D_Mask = D_endpos;  for ( i=1; i<D_length; i++) D_Mask = (D_Mask<<1) | D_Mask;  D_Mask = ~D_Mask;  r_Init1 = Init1; /* put Init1 in register */  r_NO_ERR = NO_ERR_MASK; /* put NO_ERR_MASK in register */  endpos = D_endpos;      FIRSTROUND = ON;  A0 = B0 = A1 = B1 = A2 = B2 = A3 = B3 = A4 = B4 = Init[0];  for(k=0; k<=D; k++) A[k] = B[k] = Init[0];  lasti = Max_record;  while ((l = fill_buf(text, buffer + Max_record, Max_record)) > 0)  { i = Max_record; end = Max_record + l ;    if (FIRSTROUND) {         i = Max_record - 1;	if(DELIMITER) {		for(k=0; k<D_length; k++) {					if(old_D_pat[k] != buffer[Max_record+k]) 						break;		}		if(k>=D_length) j--;	}        FIRSTROUND = OFF; }    if (l < BlockSize) {        strncpy(buffer+end, old_D_pat, D_length);        buffer[end+D_length] = '\0';        end = end + D_length; }    while (i < end )    {        c = buffer[i];        CMask = Mask[c];              r1 = r_Init1 & B0;              A0 = ((B0 >>1 ) & CMask) | r1;              r1 = r_Init1 & B1;              r2 =  B0 | (((A0 | B0) >> 1) & r_NO_ERR);               A1 = ((B1 >>1 ) & CMask) | r2 | r1 ;                       if(D == 1) goto Nextchar;              r1 = r_Init1 & B2;              r2 =  B1 | (((A1 | B1) >> 1) & r_NO_ERR);               A2 = ((B2 >>1 ) & CMask) | r2 | r1 ;                       if(D == 2) goto Nextchar;              r1 = r_Init1 & B3;              r2 =  B2 | (((A2 | B2) >> 1) & r_NO_ERR);               A3 = ((B3 >>1 ) & CMask) | r2 | r1 ;                       if(D == 3) goto Nextchar;              r1 = r_Init1 & B4;              r2 =  B3 | (((A3 | B3) >> 1) & r_NO_ERR);               A4 = ((B4 >>1 ) & CMask) | r2 | r1 ;                       if(D == 4) goto Nextchar;Nextchar: i=i+1;        if(A0 & endpos) {           j++;  r1 = A0;           if ( D == 1) r1 = A1;           if ( D == 2) r1 = A2;           if ( D == 3) r1 = A3;           if ( D == 4) r1 = A4;           if(((AND == 1) && ((r1 & endposition) == endposition)) ||                           ((AND == 0) && (r1 & endposition)) ^ INVERSE )                 {                          if(FILENAMEONLY) {                         num_of_matched++;                         printf("%s\n", CurrentFileName);                         return;  }                      printout_end = i - D_length - 1;                                 if(!(lasti >= Max_record + l - 1))                         output(buffer, lasti, printout_end, j);                 }           lasti = i - D_length; /* point to starting position of D_pat */           TRUNCATE = OFF;           for(k=0; k<= D; k++) {              B[k] = Init[0];           }           r1 = B[0] & Init1;           A[0] = (((B[0]>>1) & CMask) | r1) & D_Mask;           for(k=1; k<= D; k++) {              r1 = Init1 & B[k];              r2 = B[k-1] | (((A[k-1] | B[k-1])>>1)&r_NO_ERR);              A[k] = (((B[k]>>1)&CMask) | r1 | r2) ;           }           A0 = A[0]; B0 = B[0]; A1 = A[1]; B1 = B[1]; A2 = A[2]; B2 = B[2];           A3 = A[3]; B3 = B[3]; A4 = A[4]; B4 = B[4];        }        c = buffer[i];        CMask = Mask[c];              r1 = r_Init1 & A0;              B0 = ((A0 >> 1 ) & CMask) | r1;#ifdef DEBUG	printf("Mask = %o, B0 = %o\n", CMask, B0);#endif              r1 = r_Init1 & A1;              r2 =  A0 | (((A0 | B0) >> 1) & r_NO_ERR);               B1 = ((A1 >>1 ) & CMask) | r2 | r1 ;                       if(D == 1) goto Nextchar1;              r1 = r_Init1 & A2;              r2 =  A1 | (((A1 | B1) >> 1) & r_NO_ERR);               B2 = ((A2 >>1 ) & CMask) | r2 | r1 ;                       if(D == 2) goto Nextchar1;              r1 = r_Init1 & A3;              r2 =  A2 | (((A2 | B2) >> 1) & r_NO_ERR);               B3 = ((A3 >>1 ) & CMask) | r2 | r1 ;                       if(D == 3) goto Nextchar1;              r1 = r_Init1 & A4;              r2 =  A3 | (((A3 | B3) >> 1) & r_NO_ERR);               B4 = ((A4 >>1 ) & CMask) | r2 | r1 ;                       if(D == 4) goto Nextchar1;Nextchar1: i=i+1;        if(B0 & endpos) {           j++;  r1 = B0;           if ( D == 1) r1 = B1;           if ( D == 2) r1 = B2;           if ( D == 3) r1 = B3;           if ( D == 4) r1 = B4;           if(((AND == 1) && ((r1 & endposition) == endposition)) ||                           ((AND == 0) && (r1 & endposition)) ^ INVERSE )                 {                     if(FILENAMEONLY) {                       num_of_matched++;                       printf("%s\n", CurrentFileName);                       return; }                    printout_end = i - D_length -1 ;                     if(!(lasti >= Max_record + l - 1))                       output(buffer, lasti, printout_end, j);                 }           lasti = i - D_length ;           TRUNCATE = OFF;           for(k=0; k<= D; k++) {              A[k] = Init[0];           }           r1 = A[0] & Init1;            B[0] = (((A[0]>>1)&CMask) | r1) & D_Mask;           for(k=1; k<= D; k++) {              r1 = Init1 & A[k];              r2 = A[k-1] | (((A[k-1] | B[k-1])>>1)&r_NO_ERR);              B[k] = (((A[k]>>1)&CMask) | r1 | r2) ;           }           A0 = A[0]; B0 = B[0]; A1 = A[1]; B1 = B[1]; A2 = A[2]; B2 = B[2];           A3 = A[3]; B3 = B[3]; A4 = A[4]; B4 = B[4];        }    }    if(l < BlockSize) {           lasti = Max_record ;    }    else {       ResidueSize = Max_record + l - lasti;       if(ResidueSize > Max_record) {          ResidueSize = Max_record;          TRUNCATE = ON;         }       strncpy(buffer+Max_record-ResidueSize, buffer+lasti, ResidueSize);       lasti = Max_record - ResidueSize;       if(lasti == 0)     lasti = 1;     }  }  return;}asearch0(old_D_pat, text, D)CHAR old_D_pat[]; int text; register unsigned D;{  register unsigned i, c, r1, r2, r3, CMask, r_NO_ERR, r_Init1,  end, endpos;   unsigned A[MaxError+2], B[MaxError+2];  unsigned D_Mask;  int D_length, FIRSTROUND, ResidueSize, lasti, l, k, buffer_end, j=0;  int printout_end;  CHAR buffer[BlockSize+Max_record+1];    D_length = strlen(old_D_pat);  buffer[Max_record-1] = '\n';  D_Mask = D_endpos;  for ( i=1; i<D_length; i++) D_Mask = (D_Mask<<1) | D_Mask;  D_Mask = ~D_Mask;  r_Init1 = Init1; /* put Init1 in register */  r_NO_ERR = NO_ERR_MASK; /* put NO_ERR_MASK in register */  endpos = D_endpos;      FIRSTROUND = ON;  for(k=0; k<=D; k++) A[k] = B[k] = Init[0];  lasti = Max_record;  while ((l = fill_buf(text, buffer + Max_record, Max_record)) > 0)  { i = Max_record; end = Max_record + l ;    if (FIRSTROUND) {         i = Max_record - 1;        FIRSTROUND = OFF; }    if (l < BlockSize) {        strncpy(buffer+end, old_D_pat, D_length);        buffer[end+D_length] = '\0';        end = end + D_length; }    while (i < end )    {        c = buffer[i++];        CMask = Mask[c];              r1 = B[0] & r_Init1;              A[0] = (((B[0] >> 1)) & CMask | r1 ) ;              for(k=1; k<=D; k++) {                     r1 = r_Init1 & B[k];                     r2 = B[k-1] | (((A[k-1]|B[k-1])>>1) & r_NO_ERR);                     A[k] = ((B[k] >> 1) & CMask) | r2 | r1;              }        if(A[0] & endpos) {           j++;             r1 = A[D];           if(((AND == 1) && ((r1 & endposition) == endposition)) ||                           ((AND == 0) && (r1 & endposition)) ^ INVERSE )                 {                          if(FILENAMEONLY) {                         num_of_matched++;                         printf("%s\n", CurrentFileName);                         return;  }                      printout_end = i - D_length - 1;                                 if(!(lasti >= Max_record + l - 1))                         output(buffer, lasti, printout_end, j);                 }           lasti = i - D_length; /* point to starting position of D_pat */           for(k=0; k<= D; k++) {              B[k] = Init[0];           }           r1 = B[0] & r_Init1;           A[0] = (((B[0]>>1) & CMask) | r1) & D_Mask;           for(k=1; k<= D; k++) {              r1 = Init1 & B[k];              r2 = B[k-1] | (((A[k-1] | B[k-1])>>1)&r_NO_ERR);              A[k] = (((B[k]>>1)&CMask) | r1 | r2) ;           }        }        c = buffer[i++];        CMask = Mask[c];              r1   = r_Init1 & A[0];              B[0] = ((A[0] >> 1 ) & CMask) | r1;              for(k=1; k<=D; k++) {                     r1 = r_Init1 & A[k];                     r2 = A[k-1] | (((A[k-1]|B[k-1])>>1) & r_NO_ERR);                     B[k] = ((A[k] >> 1) & CMask) | r2 | r1;              }        if(B[0] & endpos) {           j++;             r1 = B[D];           if(((AND == 1) && ((r1 & endposition) == endposition)) ||                           ((AND == 0) && (r1 & endposition)) ^ INVERSE )                 {                     if(FILENAMEONLY) {                       num_of_matched++;                       printf("%s\n", CurrentFileName);                       return; }                    printout_end = i - D_length -1 ;                     if(!(lasti >= Max_record + l - 1))                       output(buffer, lasti, printout_end, j);                 }           lasti = i - D_length ;           for(k=0; k<= D; k++) {              A[k] = Init[0];           }           r1 = A[0] & r_Init1;            B[0] = (((A[0]>>1)&CMask) | r1) & D_Mask;           for(k=1; k<= D; k++) {              r1 = r_Init1 & A[k];              r2 = A[k-1] | (((A[k-1] | B[k-1])>>1)&r_NO_ERR);              B[k] = (((A[k]>>1)&CMask) | r1 | r2) ;           }        }    }    if(l < BlockSize) {           lasti = Max_record;    }    else {       ResidueSize = Max_record + l - lasti;       if(ResidueSize > Max_record) {          ResidueSize = Max_record;          TRUNCATE = ON;         }       strncpy(buffer+Max_record-ResidueSize, buffer+lasti, ResidueSize);       lasti = Max_record - ResidueSize;       if(lasti == 0)     lasti = 1;     }  }  return;}/*fill_buf(fd, buf, record_size)int fd, record_size; unsigned char *buf;{int num_read=1;int total_read=0;	while(total_read < record_size && num_read > 0) {		num_read = read(fd, buf+total_read, 4096);		total_read = total_read + num_read;	}	return(total_read);}*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久久久久最新网址| 91福利在线看| 欧美精品一区视频| 久久99精品国产麻豆婷婷| 欧美一级夜夜爽| 日韩av中文字幕一区二区| 欧美久久久久久蜜桃| 久久精品久久综合| 国产三级精品视频| 色婷婷国产精品| 午夜精品久久久久久久久久久 | 欧美理论电影在线| 日本强好片久久久久久aaa| 日韩免费视频线观看| 国产大陆亚洲精品国产| 亚洲免费观看高清在线观看| 欧美揉bbbbb揉bbbbb| 久久精品二区亚洲w码| 国产日韩一级二级三级| 欧洲在线/亚洲| 免费国产亚洲视频| 中文字幕高清一区| 欧美亚洲动漫制服丝袜| 久国产精品韩国三级视频| 国产女同互慰高潮91漫画| 91国偷自产一区二区使用方法| 日日摸夜夜添夜夜添亚洲女人| 久久亚洲综合色| 色偷偷久久人人79超碰人人澡| 免费观看久久久4p| 国产精品卡一卡二| 91精品国产一区二区三区蜜臀| 国产高清不卡一区| 天天亚洲美女在线视频| 国产精品嫩草99a| 欧美精品一二三| 成人性生交大片免费看中文网站| 亚洲一区在线播放| 久久综合色8888| 欧美性高清videossexo| 国产麻豆9l精品三级站| 婷婷中文字幕综合| 自拍偷拍亚洲综合| 欧美成人性福生活免费看| 在线观看日韩高清av| 国产成人午夜精品影院观看视频| 亚洲永久精品大片| 国产日产精品1区| 6080yy午夜一二三区久久| 成人av免费网站| 国产综合色在线视频区| 天天色 色综合| 亚洲人吸女人奶水| 26uuu精品一区二区三区四区在线| 在线观看欧美日本| www.综合网.com| 久久99精品国产麻豆婷婷洗澡| 亚洲成在线观看| 亚洲欧美在线另类| 26uuu国产一区二区三区| 666欧美在线视频| 欧美日韩精品一二三区| 91在线视频观看| 成人综合在线视频| 国产精品一区二区x88av| 日韩成人dvd| 亚洲1区2区3区4区| 亚洲国产一区在线观看| 一二三四社区欧美黄| 1000部国产精品成人观看| 国产视频在线观看一区二区三区| 日韩欧美的一区二区| 56国语精品自产拍在线观看| 欧美二区三区91| 欧美猛男男办公室激情| 欧美日韩1区2区| 欧美午夜精品电影| 欧美在线观看一区二区| 欧洲精品一区二区| 91亚洲国产成人精品一区二三 | 亚洲理论在线观看| 亚洲天堂福利av| 亚洲欧美偷拍另类a∨色屁股| 中文字幕中文字幕一区| 亚洲男帅同性gay1069| 亚洲精品视频在线看| 一区二区三区免费网站| 亚洲一区二区av在线| 亚洲成人一区在线| 蜜臀va亚洲va欧美va天堂| 麻豆高清免费国产一区| 国产很黄免费观看久久| 99热国产精品| 在线视频中文字幕一区二区| 欧美三级午夜理伦三级中视频| 欧美日韩国产一级| 日韩美女天天操| 国产无人区一区二区三区| 国产精品萝li| 亚洲一区二区三区四区在线免费观看 | 国产精品乱码久久久久久| 国产精品久久夜| 亚洲综合自拍偷拍| 日本不卡一区二区三区高清视频| 精品一区二区免费在线观看| 国产成a人亚洲精| 日本乱人伦aⅴ精品| 欧美丰满高潮xxxx喷水动漫| 久久精品一二三| 国产精品国产三级国产普通话蜜臀 | 一区二区三区在线免费播放| 亚洲国产人成综合网站| 国产一区二区精品久久| 一本久久精品一区二区| 欧美一区二区在线看| 国产日韩亚洲欧美综合| 亚洲一区二区三区不卡国产欧美| 蓝色福利精品导航| 色悠悠亚洲一区二区| 日韩欧美第一区| 亚洲欧美激情小说另类| 国内精品第一页| 在线观看免费一区| 久久久精品国产免费观看同学| 一区二区三区四区中文字幕| 久久99久久久久| 一本一道久久a久久精品| 精品精品欲导航| 一区二区三区精品在线| 国内精品写真在线观看| 欧美日韩一级视频| 久久精品亚洲精品国产欧美kt∨ | 亚洲品质自拍视频| 国内欧美视频一区二区| 欧美日韩视频不卡| 一区免费观看视频| 九九热在线视频观看这里只有精品| 色综合久久综合| 国产视频一区二区在线观看| 日韩av电影免费观看高清完整版在线观看 | 中文字幕视频一区二区三区久| 日韩国产一二三区| 91久久线看在观草草青青| 久久久久久电影| 美女性感视频久久| 欧美性猛交xxxxxx富婆| 亚洲色图第一区| 成人在线视频一区| 精品福利一二区| 亚洲www啪成人一区二区麻豆| 成人激情电影免费在线观看| www国产精品av| 日韩精品一二区| 欧美亚洲国产一卡| 亚洲女同一区二区| 成人午夜短视频| 久久精品亚洲麻豆av一区二区| 久久狠狠亚洲综合| 91精品国产高清一区二区三区| 亚洲成人手机在线| 欧美日韩中文一区| 亚洲制服丝袜在线| 一本久久综合亚洲鲁鲁五月天| 综合色天天鬼久久鬼色| 99久久久无码国产精品| 国产精品天干天干在线综合| 国产成人自拍网| 久久精品一二三| 国产精品一区二区男女羞羞无遮挡 | 欧美经典一区二区三区| 国内成人自拍视频| 欧美精品一区二区三区四区| 精彩视频一区二区| 久久免费午夜影院| 国产乱码字幕精品高清av| 久久久精品国产99久久精品芒果| 国产一区二区三区美女| 久久精品亚洲精品国产欧美| 成人国产视频在线观看| 亚洲欧洲色图综合| 91麻豆swag| 偷拍一区二区三区四区| 91精品国产色综合久久ai换脸| 蜜桃久久av一区| 久久精品一二三| 99久久婷婷国产| 午夜精品一区二区三区免费视频 | 国产精品第四页| 99久久精品国产网站| 亚洲精品日日夜夜| 欧美日韩日日夜夜| 久久99国产精品久久99果冻传媒| 欧美精品一区二区三区久久久| 成人性生交大片免费看视频在线| 亚洲青青青在线视频| 6080日韩午夜伦伦午夜伦| 国产精品中文字幕日韩精品| 综合激情网...| 日韩视频一区二区三区在线播放| 国产精品一卡二|