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

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

?? ed.c

?? C語言高級實例解析的源代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
int  undo( WINDOW *window )
{
register WINDOW *win;   
line_list_ptr node;

   win = window;
   if (win->file_info->undo_count > 0) {
      entab_linebuff( );
      if (un_copy_line( win->ll, win, TRUE ) == ERROR)
         return( ERROR );

      node = win->file_info->undo_top;
      win->file_info->undo_top = node->next;
      win->file_info->undo_top->prev = NULL;
      --win->file_info->undo_count;

      node->next = node->prev = NULL;

      ++win->file_info->length;

      if (win->ll->prev != NULL)
         win->ll->prev->next = node;
      node->prev = win->ll->prev;

      win->ll->prev = node;
      node->next = win->ll;
      win->ll = node;
      win->ll->dirty = TRUE;

      if (win->ll->prev == NULL)
         win->file_info->line_list = win->ll;

      adjust_windows_cursor( win, 1 );

     
      win->file_info->dirty = GLOBAL;
      show_size( win );
      show_avail_mem( );
   }
   return( OK );
}



int  beg_next_line( WINDOW *window )
{
int  rc;

   window->rcol = 0;
   rc = prepare_move_down( window );
   check_virtual_col( window, window->rcol, window->ccol );
   sync( window );
   make_ruler( window );
   show_ruler( window );
   return( rc );
}



int  next_line( WINDOW *window )
{
register int rcol;
register WINDOW *win;   
int  rc;

   win = window;
   rc = prepare_move_down( win );
   rcol = first_non_blank( win->ll->line, win->ll->len );
   check_virtual_col( win, rcol, win->ccol );
   sync( win );
   make_ruler( win );
   show_ruler( win );
   return( rc );
}



int  home( WINDOW *window )
{
register int rcol;
register WINDOW *win;   
text_ptr p;

   win = window;
   if (g_status.copied && win->file_info == g_status.current_window->file_info){
      rcol = first_non_blank( (text_ptr)g_status.line_buff,
                                        g_status.line_buff_len );
      if (is_line_blank( (text_ptr)g_status.line_buff, g_status.line_buff_len))
         rcol = 0;
   } else {
      p = win->ll->line;
      if (p == NULL)
         rcol = 0;
      else {
         rcol = first_non_blank( p, win->ll->len );
         if (is_line_blank( p, win->ll->len ))
            rcol = 0;
      }
   }
   if (win->rcol == rcol)
      rcol = 0;
   check_virtual_col( win, rcol, win->ccol );
   sync( win );
   make_ruler( win );
   show_ruler( win );
   return( OK );
}



int  goto_eol( WINDOW *window )
{
register int rcol;
register WINDOW *win;   

   win = window;
   rcol = find_end( win->ll->line, win->ll->len );
   if (g_status.copied) {
      if (win->file_info == g_status.current_window->file_info)
         rcol = find_end( (text_ptr)g_status.line_buff, g_status.line_buff_len);
   }
   win->ccol = win->start_col + rcol - win->bcol;
   check_virtual_col( win, rcol, win->ccol );
   sync( win );
   make_ruler( win );
   show_ruler( win );
   return( OK );
}



int  goto_top( WINDOW *window )
{
register WINDOW *win;   

   win = window;
   entab_linebuff( );
   if (un_copy_line( win->ll, win, TRUE ) == ERROR)
      return( ERROR );
   update_line( win );
   for (; win->cline > win->top_line+win->ruler; win->cline--,win->rline--) {
      if (win->rline <= 1L)
         break;
      else {
         win->ll = win->ll->prev;
         win->bin_offset -= win->ll->len;
      }
   }
   show_curl_line( win );
   sync( win );
   return( OK );
}



int  goto_bottom( WINDOW *window )
{
register WINDOW *win;   
int  at_top;

   win = window;
   entab_linebuff( );
   if (un_copy_line( win->ll, win, TRUE ) == ERROR)
      return( ERROR );
   if (win->ll->len == EOF) {
      if (win->rline > 1) {
         at_top = FALSE;
         if (win->cline == win->top_line + win->ruler) {
            win->file_info->dirty = LOCAL;
            at_top = TRUE;
         }
         if (!at_top)
            update_line( win );
         --win->rline;             
         win->ll = win->ll->prev;
         win->bin_offset -= win->ll->len;
         if (!at_top) {
            --win->cline;          
            show_curl_line( win );
         }
      }
   } else {
      update_line( win );
      for (; win->cline < win->bottom_line; win->cline++,win->rline++) {
         if (win->ll == NULL || win->ll->next == NULL || win->ll->next->len == EOF)
            break;
         else {
            win->bin_offset += win->ll->len;
            win->ll = win->ll->next;
         }
      }
      show_curl_line( win );
   }
   sync( win );
   return( OK );
}



int  set_tabstop( WINDOW *window )
{
char num_str[MAX_COLS]; 
int  tab;               
register int rc;
register file_infos *file;

   itoa( mode.ltab_size, num_str, 10 );
   
   rc = get_name( ed7a, window->bottom_line, num_str, g_display.message_color );
   if (rc == OK   &&  *num_str != '\0') {
      tab = atoi( num_str );
      if (tab < MAX_COLS/2) {
         mode.ltab_size = tab;
         if (mode.inflate_tabs) {
            for (file=g_status.file_list; file != NULL; file=file->next)
               file->dirty = GLOBAL;
         }
      } else {
       
         error( WARNING, window->bottom_line, ed8 );
         rc = ERROR;
      }
   }

   itoa( mode.ptab_size, num_str, 10 );
  
   rc = get_name( ed7b, window->bottom_line, num_str, g_display.message_color );
   if (rc == OK  &&  *num_str != '\0') {
      tab = atoi( num_str );
      if (tab < MAX_COLS/2) {
         mode.ptab_size = tab;
         show_tab_modes( );
         if (mode.inflate_tabs) {
            for (file=g_status.file_list; file != NULL; file=file->next)
               file->dirty = GLOBAL;
         }
      } else {
       
         error( WARNING, window->bottom_line, ed8 );
         rc = ERROR;
      }
   }
   return( rc );
}


void show_line_col( WINDOW *window )
{
int  i;
register int k;
char line_col[20], num[10];
char *hex_digit = "0123456789abcdef";

  
   memset( line_col, ' ', 13 );
   line_col[13] = '\0';

  
   itoa( window->rcol+1, num, 10 );
   i = strlen( num ) - 1;
   for (k=12; i>=0; i--, k--)
      line_col[k] = num[i];

  
   line_col[k--] = ':';

   ltoa( window->rline, num, 10 );
   i = strlen( num ) - 1;
   for (; i>=0; i--, k--)
      line_col[k] = num[i];

  
   s_output( line_col, window->top_line-1, window->end_col-12,
             g_display.head_color );

   strcpy( line_col, " =   " );
   i = window->rcol;
   if (g_status.copied) {
      if (mode.inflate_tabs)
         i = entab_adjust_rcol( (text_ptr)g_status.line_buff,
                                 g_status.line_buff_len, i );
      if (i < g_status.line_buff_len) {
         k = (int)g_status.line_buff[i];
         line_col[2] = *(hex_digit + (k >> 4));
         line_col[3] = *(hex_digit + (k & 0x000f));
         line_col[4] = 'x';
         i = TRUE;
      } else
         i = FALSE;
   } else {
      if (mode.inflate_tabs  &&  window->ll->len != EOF)
         i = entab_adjust_rcol( window->ll->line, window->ll->len, i );
      if (i < window->ll->len) {
         k = (int)window->ll->line[i];
         line_col[2] = *(hex_digit + (k >> 4));
         line_col[3] = *(hex_digit + (k & 0x000f));
         line_col[4] = 'x';
         i = TRUE;
      } else
         i = FALSE;
   }
   s_output( line_col, g_display.mode_line, 58, g_display.mode_color );
   if (i == TRUE)
      c_output( k, 58, g_display.mode_line, g_display.mode_color );


   
   if (window->file_info->crlf == BINARY && !window->vertical) {
      k =  window->ll->line == NULL  ?  0  :  window->rcol;
      memset( line_col, ' ', 7 );
      line_col[7] = '\0';
      s_output( line_col, window->top_line-1, 61, g_display.head_color );
      ltoa( window->bin_offset + k, line_col, 10 );
      s_output( line_col, window->top_line-1, 61, g_display.head_color );
   }
   show_asterisk( window );
}



void show_asterisk( WINDOW *window )
{
   c_output( window->file_info->modified ? '*' : ' ', window->start_col+4,
             window->top_line-1, g_display.head_color );
}



int  toggle_overwrite( WINDOW *arg_filler )
{
   mode.insert = !mode.insert;
   show_insert_mode( );
   set_cursor_size( mode.insert ? g_display.insert_cursor :
                    g_display.overw_cursor );
   return( OK );
}



int  toggle_smart_tabs( WINDOW *arg_filler )
{
   mode.smart_tab = !mode.smart_tab;
   show_tab_modes( );
   return( OK );
}



int  toggle_indent( WINDOW *arg_filler )
{
   mode.indent = !mode.indent;
   show_indent_mode( );
   return( OK );
}



int  set_left_margin( WINDOW *window )
{
register int rc;
char temp[MAX_COLS];

   itoa( mode.left_margin + 1, temp, 10 );
   
   rc = get_name( ed9, window->bottom_line, temp, g_display.message_color );
   if (rc == OK  &&  *temp != '\0') {
      rc = atoi( temp ) - 1;
      if (rc < 0 || rc >= mode.right_margin) {
        
         error( WARNING, window->bottom_line, ed10 );
         rc = ERROR;
      } else {
         mode.left_margin = rc;
         show_all_rulers( );
      }
   }
   return( rc );
}



int  set_right_margin( WINDOW *window )
{
char line_buff[(MAX_COLS+1)*2]; 
register int rc;
int  prompt_line;
char temp[MAX_COLS];

   prompt_line = window->bottom_line;
   save_screen_line( 0, prompt_line, line_buff );
   set_prompt( ed11a, prompt_line );
   rc = get_yn( );
   restore_screen_line( 0, prompt_line, line_buff );
   if (rc != ERROR) {
      mode.right_justify =  rc == A_YES ? TRUE : FALSE;

      itoa( mode.right_margin + 1, temp, 10 );
      
      rc = get_name( ed11, prompt_line, temp, g_display.message_color );
      if (rc == OK  &&  *temp != '\0') {
         rc = atoi( temp ) - 1;
         if (rc <= mode.left_margin || rc > MAX_LINE_LENGTH) {
           
            error( WARNING, prompt_line, ed12 );
            rc = ERROR;
         } else {
            mode.right_margin = rc;
            show_all_rulers( );
         }
      }
   }
   return( rc );
}



int  set_paragraph_margin( WINDOW *window )
{
register int rc;
char temp[80];

   itoa( mode.parg_margin + 1, temp, 10 );
   
   rc = get_name( ed13, window->bottom_line, temp, g_display.message_color );
   if (rc == OK  &&  *temp != '\0') {
      rc = atoi( temp ) - 1;
      if (rc < 0 || rc >= mode.right_margin) {
         /*
          * paragraph margin out of range
          */
         error( WARNING, window->bottom_line, ed14 );
         rc = ERROR;
      } else {
         mode.parg_margin = rc;
         show_all_rulers( );
      }
   }
   return( rc );
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美成aⅴ人在线观看| 国产成人自拍网| 国产一区二区三区日韩 | 91免费在线视频观看| 7777精品伊人久久久大香线蕉的| 久久青草欧美一区二区三区| 日韩不卡一区二区三区| 91在线免费视频观看| 久久精品视频在线看| 日本麻豆一区二区三区视频| 日本韩国一区二区三区视频| 亚洲精品一区二区精华| 日韩精品成人一区二区三区| 日本黄色一区二区| 亚洲免费av观看| 粉嫩aⅴ一区二区三区四区五区 | 欧美在线观看一区| 337p粉嫩大胆噜噜噜噜噜91av| 天堂成人免费av电影一区| 一本一道久久a久久精品综合蜜臀| 精品欧美一区二区在线观看| 日本成人在线电影网| 欧美日韩1区2区| 亚洲综合丝袜美腿| 在线亚洲一区二区| 洋洋av久久久久久久一区| 色综合天天性综合| 最近日韩中文字幕| 99久久精品国产导航| 国产精品久久久久一区| 成人免费看黄yyy456| 欧美国产国产综合| av在线不卡网| 亚洲天堂精品视频| 欧美在线观看禁18| 亚洲综合男人的天堂| 欧美亚洲另类激情小说| 亚洲超碰精品一区二区| 91精品免费在线观看| 蜜桃av噜噜一区| 欧美一级久久久| 国产一区二区三区久久悠悠色av| 久久日韩精品一区二区五区| 国产精品自拍网站| 国产精品麻豆久久久| 日本久久电影网| 日韩国产一二三区| 26uuu国产一区二区三区| 国产精品一区专区| 国产精品高潮呻吟| 欧美日韩一级大片网址| 久久99国产精品久久99果冻传媒| 久久天天做天天爱综合色| 99这里都是精品| 韩国三级电影一区二区| 精品国产乱码久久久久久久| 国产成人亚洲精品狼色在线| 亚洲欧美区自拍先锋| 69精品人人人人| 国产.欧美.日韩| 一区二区三区 在线观看视频| 欧美一区二区三区免费观看视频 | 国产精品视频一二三区| 在线观看一区二区精品视频| 狂野欧美性猛交blacked| 欧美国产禁国产网站cc| 777午夜精品免费视频| 国产精品88888| 一区二区三区在线看| 7799精品视频| 成人av资源下载| 蜜桃一区二区三区在线| 亚洲欧洲日韩av| 欧美电影免费观看高清完整版 | 成人app在线| 日韩精品欧美成人高清一区二区| 国产欧美精品一区| 欧美久久久久久久久中文字幕| 国产成人av资源| 视频一区在线播放| 亚洲欧洲一区二区三区| 欧美成人vr18sexvr| 欧美午夜影院一区| 国产 欧美在线| 麻豆91在线播放免费| 亚洲一二三四久久| 亚洲国产成人在线| 精品国产一二三| 欧美精选一区二区| www.欧美日韩| 国产成人综合亚洲91猫咪| 天堂av在线一区| 一区二区三区在线视频播放 | 亚洲va韩国va欧美va精品 | 爽好多水快深点欧美视频| 国产精品久久三区| www激情久久| 欧美一区二区三区白人 | 99久久精品99国产精品| 国产乱对白刺激视频不卡| 免费人成在线不卡| 香蕉成人啪国产精品视频综合网| 综合欧美一区二区三区| 国产精品久久毛片| 中文字幕免费不卡在线| 久久精品亚洲精品国产欧美| 日韩精品一区二区在线| 日韩一级片在线播放| 欧美二区三区的天堂| 欧美精品一二三| 欧美日韩aaaaa| 欧美高清视频www夜色资源网| 在线视频综合导航| 欧美在线观看你懂的| 欧美视频在线一区二区三区| 一本久道中文字幕精品亚洲嫩| 91在线免费视频观看| 色综合欧美在线视频区| 色综合久久综合中文综合网| 91麻豆免费视频| 欧美性猛交xxxxxxxx| 欧美久久高跟鞋激| 欧美va天堂va视频va在线| 久久久精品免费观看| 欧美高清在线视频| 亚洲三级理论片| 亚洲午夜在线观看视频在线| 日韩精品乱码av一区二区| 久久精品国产99久久6| 国产乱码字幕精品高清av | 亚洲影院久久精品| 日韩成人av影视| 国产精品影音先锋| av高清久久久| 欧美日韩卡一卡二| 欧美成人性福生活免费看| 久久久久国产精品麻豆ai换脸| 国产精品热久久久久夜色精品三区| 中文字幕一区三区| 亚洲国产精品麻豆| 国产最新精品免费| 99国产精品99久久久久久| 精品视频在线看| 久久久久久久久蜜桃| 亚洲乱码国产乱码精品精可以看 | 26uuu精品一区二区三区四区在线| 欧美极品美女视频| 亚洲午夜国产一区99re久久| 久久99久久99精品免视看婷婷 | 国产一区三区三区| 91网站在线观看视频| 日韩一级二级三级| 国产精品卡一卡二卡三| 午夜国产不卡在线观看视频| 丰满放荡岳乱妇91ww| 欧美精选午夜久久久乱码6080| 国产性色一区二区| 视频在线观看一区| 成人国产免费视频| 日韩视频123| 亚洲男人的天堂在线aⅴ视频| 日本欧美加勒比视频| 91香蕉视频黄| 久久久精品综合| 日本欧美久久久久免费播放网| 99精品黄色片免费大全| 精品sm在线观看| 午夜精品国产更新| 92国产精品观看| 国产日韩欧美不卡| 日本亚洲天堂网| 欧美日韩中文字幕精品| 亚洲欧美综合网| 国产传媒欧美日韩成人| 日韩一区二区在线观看| 亚洲成人动漫在线免费观看| 91女神在线视频| 国产精品高潮呻吟| 国产成人精品一区二区三区四区| 欧美人动与zoxxxx乱| 一区二区三区在线视频免费| 97成人超碰视| 亚洲国产精品99久久久久久久久| 日本va欧美va欧美va精品| 欧美性感一类影片在线播放| 中文字幕一区二区不卡| 国产精品资源网站| 精品久久人人做人人爽| 美女国产一区二区三区| 欧美一区二区三区在线看| 视频一区二区国产| 欧美日韩一卡二卡| 亚洲成人激情社区| 欧美日韩精品一区二区三区四区| 一区二区三区日韩精品视频| 色哟哟欧美精品| 一区二区三区欧美久久| 欧洲一区二区三区在线| 一级精品视频在线观看宜春院| 在线欧美日韩精品|