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

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

?? diff.c

?? 《c語言高級實例解析》光盤所附源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
                  diff1 = node1->line;
                  c1 =  (char)(r1 < len1  ?  *(diff1 + r1) : 0);
                  if (c1 == '\t'  &&  tabs)
                     c1 = ' ';
               }
            }
            if (r2 >= len2) {
               node2 = skip_eol( node2, &r2, &rcol2, &rline2, &bin_offset2 );
               len2  = node2->len;
               if (len2 != EOF) {
                  diff2 = node2->line;
                  c2 =  (char)(r2 < len2  ? *(diff2 + r2)  :  0);
                  if (c2 == '\t'  &&  tabs)
                     c2 = ' ';
               }
            }
         }

        
         if (mode.search_case == IGNORE) {
            c1 = (char)tolower( c1 );
            c2 = (char)tolower( c2 );
         }

         
         while (r1 < len1  && r2 < len2) {
            if (c1 == c2) {
               if (diff.all_space) {
                  do {
                     ++rcol1;
                     r1 = tabs ? entab_adjust_rcol( diff1,len1,rcol1 ) : rcol1;
                     c1 =  (char)(r1 < len1  ?  *(diff1 + r1)  :  0);
                     if (c1 == '\t'  &&  tabs)
                        c1 = ' ';
                  } while (c1 == ' '  &&  r1 < len1);
                  do {
                     ++rcol2;
                     r2 = tabs ? entab_adjust_rcol( diff2,len2,rcol2 ) : rcol2;
                     c2 =  (char)(r2 < len2  ?  *(diff2 + r2)  :  0);
                     if (c2 == '\t'  &&  tabs)
                        c2 = ' ';
                  } while (c2 == ' '  &&  r2 < len2);
               } else {
                  ++rcol1;
                  ++rcol2;
                  r1 = tabs ? entab_adjust_rcol( diff1, len1, rcol1 ) : rcol1;
                  r2 = tabs ? entab_adjust_rcol( diff2, len2, rcol2 ) : rcol2;
                  c1 =  (char)(r1 < len1  ?  *(diff1 + r1)  :  0);
                  c2 =  (char)(r2 < len2  ?  *(diff2 + r2)  :  0);
                  if (tabs) {
                     if (c1 == '\t')
                        c1 = ' ';
                     if (c2 == '\t')
                        c2 = ' ';
                  }
               }
               if (diff.ignore_eol) {
                  if (r1 >= len1) {
                     node1 = skip_eol(node1, &r1, &rcol1, &rline1,&bin_offset1);
                     len1  = node1->len;
                     if (len1 != EOF) {
                        diff1 = node1->line;
                        c1 =  (char)(r1 < len1  ?  *(diff1 + r1)  : 0);
                        if (c1 == '\t'  &&  tabs)
                           c1 = ' ';
                     }
                  }
                  if (r2 >= len2) {
                     node2 = skip_eol(node2, &r2, &rcol2, &rline2,&bin_offset2);
                     len2  = node2->len;
                     if (len2 != EOF) {
                        diff2 = node2->line;
                        c2 = (char)(r2 < len2  ? *(diff2 + r2)  :  0);
                        if (c2 == '\t'  &&  tabs)
                           c2 = ' ';
                     }
                  }
               }
               if (mode.search_case == IGNORE) {
                  c1 = (char)tolower( c1 );
                  c2 = (char)tolower( c2 );
               }
            } else {

               
               update_line( diff.w1 );
               diff.w1->bin_offset = bin_offset1;
               find_adjust( diff.w1, node1, rline1, rcol1 );
               check_virtual_col( diff.w1, rcol1, rcol1 );
               show_diff_window( diff.w1 );
               update_line( diff.w2 );
               diff.w2->bin_offset = bin_offset2;
               bin_offset_adjust( diff.w2, rline2 );
               find_adjust( diff.w2, node2, rline2, rcol2 );
               check_virtual_col( diff.w2, rcol2, rcol2 );
               show_diff_window( diff.w2 );
               s_output( diff_blank, g_display.mode_line, 67,
                         g_display.mode_color );
               return( OK );
            }
         }

        
         if (node1->len != EOF && node2->len != EOF) {
            if (rcol1 != len1  &&  rcol2 != len2) {
               update_line( diff.w1 );
               diff.w1->bin_offset = bin_offset1;
               find_adjust( diff.w1, node1, rline1, rcol1 );
               show_diff_window( diff.w1 );
               update_line( diff.w2 );
               diff.w2->bin_offset = bin_offset2;
               find_adjust( diff.w2, node2, rline2, rcol2 );
               show_diff_window( diff.w2 );
               s_output( diff_blank, g_display.mode_line, 67,
                         g_display.mode_color );
               return( OK );
            } else {
               node1 = skip_eol( node1, &r1, &rcol1, &rline1, &bin_offset1 );
               len1  = node1->len;
               diff1 = node1->line;
               node2 = skip_eol( node2, &r2, &rcol2, &rline2, &bin_offset2 );
               len2  = node2->len;
               diff2 = node2->line;
            }
         }

         assert( rcol1 >= 0 );
         assert( rcol1 < MAX_LINE_LENGTH );
         assert( rcol2 >= 0 );
         assert( rcol2 < MAX_LINE_LENGTH );
         assert( r1 >= 0 );
         assert( r1 < MAX_LINE_LENGTH );
         assert( r2 >= 0 );
         assert( r2 < MAX_LINE_LENGTH );
         assert( r1 <= rcol1 );
         assert( r2 <= rcol2 );
         if (node1->len == EOF)
            assert( len1 == EOF );
         else {
            assert( len1 >= 0 );
            assert( len1 < MAX_LINE_LENGTH );
         }
         if (node2->len == EOF)
            assert( len2 == EOF );
         else {
            assert( len2 >= 0 );
            assert( len2 < MAX_LINE_LENGTH );
         }
      }
      save_screen_line( 0, bottom, line_buff );
      set_prompt( diff_prompt4, bottom );
      getkey( );
      restore_screen_line( 0, bottom, line_buff );
      s_output( diff_blank, g_display.mode_line, 67, g_display.mode_color );
   }
   return( ERROR );
}



int  skip_leading_space( text_ptr s, int len )
{
register int count = 0;

   assert( len >= 0 );
   assert( len < MAX_LINE_LENGTH );

   if (s != NULL) {
      if (mode.inflate_tabs) {
         while (len > 0  &&  (*s == ' ' || *s == '\t')) {
            ++count;
            ++s;
            --len;
         }
      } else {
         while (len > 0  &&  *s == ' ') {
           ++count;
           ++s;
           --len;
         }
      }
   }
   if (len == 0)
      count = 0;
   return( count );
}



line_list_ptr skip_eol( line_list_ptr d, int *r, int *rcol, long *rline,
                        long *bin_offset )
{
int  leading;
long rl;
long bo;

   *r = *rcol = 0;
   rl = *rline;
   bo = *bin_offset;
   if (d->len != EOF) {
      bo += d->len;
      d = d->next;
      ++rl;
      if (diff.blank_lines) {
         while (d->len != EOF  &&  is_line_blank( d->line, d->len )) {
            bo += d->len;
            d = d->next;
            ++rl;
         }
      }
      if (d->len != EOF) {
         if (diff.leading) {
            leading = skip_leading_space( d->line, d->len );
            if (mode.inflate_tabs)
               leading = detab_adjust_rcol( d->line, leading );
            *rcol = leading;
         } else
            *rcol = 0;
         *r = *rcol;
         if (mode.inflate_tabs)
            *r = entab_adjust_rcol( d->line, d->len, *rcol );
      }
   }
   *rline = rl;
   *bin_offset = bo;
   return( d );
}



void show_diff_window( WINDOW *win )
{
   if (win->file_info->dirty == LOCAL)
      display_current_window( win );
   else
      show_curl_line( win );
   show_line_col( win );
   make_ruler( win );
   show_ruler( win );
   show_ruler_pointer( win );
   win->file_info->dirty = FALSE;
}



int  verify_number( char *temp, int *num )
{
register file_infos *fp;

   /*
    * see if string has a number.  if string does have a number, convert it.
    */
   if (*temp == '\0' || !isdigit( *temp ))
      return( ERROR );
   *num = 0;
   while (isdigit( *temp ))
      *num = *num * 10 + *temp++ - '0';

   
   for (fp=g_status.file_list; fp != NULL; fp=fp->next) {
      if (fp->file_no == *num)
         return( OK );
   }
   return( ERROR );
}




int  verify_letter( char *temp, int *let, WINDOW **win )
{
register file_infos *fp;
register WINDOW *wp;
int  num;

   if (verify_number( temp, &num ) == OK) {
      while (isdigit( *temp ))
         temp++;
      if (*temp == '\0' || !isalpha( *temp ))
         return( ERROR );
      *let = (int)tolower( *temp );
      for (fp=g_status.file_list; fp != NULL; fp=fp->next) {
         if (fp->file_no == num)
            break;
      }
      for (wp=g_status.window_list; wp != NULL; wp=wp->next) {
         if (wp->file_info == fp  &&  wp->letter == *let  &&  wp->visible) {
            *win = wp;
            return( OK );
         }
      }
   }
   return( ERROR );
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜av影视| 国产精品自在欧美一区| 欧美激情综合网| 久久女同精品一区二区| 久久久久久久综合日本| 国产亚洲精品久| 国产亚洲1区2区3区| 国产女同性恋一区二区| 国产精品国产三级国产普通话蜜臀| 久久久亚洲高清| 国产精品女主播av| 亚洲精品老司机| 日日嗨av一区二区三区四区| 日韩va欧美va亚洲va久久| 久久99精品国产麻豆婷婷| 国产成人在线视频网址| av成人免费在线| 欧美日韩一区国产| 精品国产91乱码一区二区三区| 久久久久久99久久久精品网站| 国产亚洲制服色| 亚洲精品v日韩精品| 青青草国产成人99久久| 国产成人免费xxxxxxxx| 91免费看`日韩一区二区| 正在播放亚洲一区| 日本一区二区电影| 婷婷久久综合九色综合伊人色| 国产乱码精品一区二区三区忘忧草 | 717成人午夜免费福利电影| 欧美卡1卡2卡| 久久婷婷国产综合精品青草| 国产精品乱人伦中文| 五月激情综合婷婷| 国产成人免费视频网站| 欧美体内she精高潮| 国产日本欧洲亚洲| 天堂久久一区二区三区| 福利一区在线观看| 7777精品伊人久久久大香线蕉超级流畅 | 91麻豆精品国产91久久久久久| 久久网站最新地址| 亚洲超碰精品一区二区| 波多野结衣视频一区| 制服.丝袜.亚洲.另类.中文| 亚洲欧美中日韩| 精彩视频一区二区三区 | 免费精品视频最新在线| 99re亚洲国产精品| 久久免费视频一区| 美女视频黄久久| 欧美男男青年gay1069videost | 久久精品国产色蜜蜜麻豆| 一本大道久久a久久综合| 久久人人爽爽爽人久久久| 一区二区久久久| 北条麻妃一区二区三区| 2022国产精品视频| 日韩和欧美一区二区| 欧美色图天堂网| 亚洲欧美另类久久久精品| 国产精品自拍毛片| 精品国产乱子伦一区| 免费成人在线观看| 日韩欧美专区在线| 天堂va蜜桃一区二区三区 | 97久久久精品综合88久久| 国产亚洲精久久久久久| 韩国一区二区在线观看| 91精品中文字幕一区二区三区 | 欧美一区二区三区在线观看| 亚洲一区二区在线视频| 色爱区综合激月婷婷| 亚洲乱码一区二区三区在线观看| 成人激情视频网站| 亚洲人一二三区| 91在线一区二区| 一区二区三国产精华液| 欧美色手机在线观看| 午夜精品福利一区二区三区av| 99国产精品久| 夜夜爽夜夜爽精品视频| 欧美三片在线视频观看| 午夜精品一区二区三区免费视频 | 国产91精品精华液一区二区三区 | 成人av电影在线观看| 精品国产乱子伦一区| 国内精品久久久久影院一蜜桃| 欧美精品一区二区三区在线| 国产精品18久久久久久久久| 国产日本欧美一区二区| 色婷婷综合五月| 三级在线观看一区二区| 欧美精品一区二区三区蜜臀| 成人黄色网址在线观看| 亚洲宅男天堂在线观看无病毒| 欧美日韩国产在线播放网站| 久久精品国产77777蜜臀| 久久久国产精品午夜一区ai换脸| 成人av影院在线| 亚洲国产成人精品视频| 日韩欧美视频在线| 成人免费视频国产在线观看| 亚洲综合久久av| wwwwxxxxx欧美| 91在线丨porny丨国产| 蜜桃免费网站一区二区三区| 国产精品女同一区二区三区| 欧美唯美清纯偷拍| 福利91精品一区二区三区| 亚洲一二三四区| 国产欧美一区二区三区鸳鸯浴| 色综合一区二区三区| 九色porny丨国产精品| 亚洲日本丝袜连裤袜办公室| 日韩精品一区二区三区中文精品| 99久久免费视频.com| 日韩电影一区二区三区四区| 国产精品久久久一区麻豆最新章节| 欧美性做爰猛烈叫床潮| 成人va在线观看| 久久精品国产第一区二区三区| 亚洲日韩欧美一区二区在线| 精品国产乱码久久久久久1区2区| 色88888久久久久久影院按摩| 国产在线不卡视频| 日本欧美久久久久免费播放网| 亚洲欧洲在线观看av| 国产亚洲欧美中文| 精品日产卡一卡二卡麻豆| 在线精品视频免费播放| 国产精品99久久久久久宅男| 美女一区二区三区| 日韩精品乱码av一区二区| 亚洲精品国产精品乱码不99| 国产精品色婷婷久久58| 国产日韩三级在线| 精品国产一区二区三区av性色| 欧美日韩国产色站一区二区三区| 99精品偷自拍| 99国产精品99久久久久久| 国产成人在线视频网站| 国产成+人+日韩+欧美+亚洲| 国产一区不卡精品| 蜜乳av一区二区| 老司机精品视频导航| 日本欧美在线观看| 蜜桃视频一区二区| 美女www一区二区| 免播放器亚洲一区| 精品一区二区免费| 激情成人午夜视频| 国产一区二区不卡老阿姨| 国产一区二区三区四区五区美女 | 亚洲蜜臀av乱码久久精品| 国产精品久久久久aaaa樱花| 国产精品每日更新| 亚洲老妇xxxxxx| 亚洲国产精品久久艾草纯爱| 日韩福利视频导航| 蜜桃传媒麻豆第一区在线观看| 九一九一国产精品| 国产sm精品调教视频网站| 成人免费视频一区二区| 色悠悠久久综合| 欧美日韩午夜在线视频| 日韩精品专区在线| 久久久国产午夜精品| 日韩一区在线看| 日韩精品电影在线| 国产呦精品一区二区三区网站| 高清在线不卡av| 91福利资源站| 日韩一级欧美一级| 国产欧美一二三区| 亚洲最色的网站| 久久国产夜色精品鲁鲁99| 成人一级片在线观看| 日本久久电影网| 精品卡一卡二卡三卡四在线| 国产精品视频在线看| 亚洲福利一区二区| 精品写真视频在线观看 | 视频一区在线视频| 国产一区视频导航| 91蝌蚪porny成人天涯| 91精品免费观看| 国产精品激情偷乱一区二区∴| 亚洲自拍与偷拍| 国产专区综合网| 91久久人澡人人添人人爽欧美| 日韩欧美一区电影| 有坂深雪av一区二区精品| 久草在线在线精品观看| 色婷婷香蕉在线一区二区| 精品成人一区二区三区四区| 亚洲三级视频在线观看| 国产精品综合一区二区| 欧美日韩一卡二卡三卡 | 欧美亚洲愉拍一区二区|