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

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

?? display.c

?? 基于的linux的oracle sqlplus替代工具
?? C
?? 第 1 頁 / 共 5 頁
字號:
	  if (*ols && (!_rl_horizontal_scroll_mode || _rl_last_c_pos > 0 ||			lendiff <= prompt_visible_length || !current_invis_chars))	    {	      insert_some_chars (nfd, lendiff, col_lendiff);	      _rl_last_c_pos += col_lendiff;	    }	  else if (*ols == 0)	    {	      /* At the end of a line the characters do not have to		 be "inserted".  They can just be placed on the screen. */	      /* However, this screws up the rest of this block, which		 assumes you've done the insert because you can. */	      _rl_output_some_chars (nfd, lendiff);	      _rl_last_c_pos += col_lendiff;	    }	  else	    {	      /* We have horizontal scrolling and we are not inserting at		 the end.  We have invisible characters in this line.  This		 is a dumb update. */	      _rl_output_some_chars (nfd, temp);	      _rl_last_c_pos += col_temp;	      return;	    }	  /* Copy (new) chars to screen from first diff to last match. */	  temp = nls - nfd;	  if ((temp - lendiff) > 0)	    {	      _rl_output_some_chars (nfd + lendiff, temp - lendiff);#if 0	      _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-lendiff) - col_lendiff;#else	      _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-col_lendiff);#endif	    }	}      else	{	  /* cannot insert chars, write to EOL */	  _rl_output_some_chars (nfd, temp);	  _rl_last_c_pos += col_temp;	}    }  else				/* Delete characters from line. */    {      /* If possible and inexpensive to use terminal deletion, then do so. */      if (_rl_term_dc && (2 * col_temp) >= -col_lendiff)	{	  /* If all we're doing is erasing the invisible characters in the	     prompt string, don't bother.  It screws up the assumptions	     about what's on the screen. */	  if (_rl_horizontal_scroll_mode && _rl_last_c_pos == 0 &&	      -lendiff == visible_wrap_offset)	    col_lendiff = 0;	  if (col_lendiff)	    delete_chars (-col_lendiff); /* delete (diff) characters */	  /* Copy (new) chars to screen from first diff to last match */	  temp = nls - nfd;	  if (temp > 0)	    {	      _rl_output_some_chars (nfd, temp);	      _rl_last_c_pos += _rl_col_width (nfd, 0, temp);;	    }	}      /* Otherwise, print over the existing material. */      else	{	  if (temp > 0)	    {	      _rl_output_some_chars (nfd, temp);	      _rl_last_c_pos += col_temp;	    }	  lendiff = (oe - old) - (ne - new);	  if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)	    col_lendiff = _rl_col_width (old, 0, oe - old) - _rl_col_width (new, 0, ne - new);	  else	    col_lendiff = lendiff;	  if (col_lendiff)	    {	  	      if (_rl_term_autowrap && current_line < inv_botlin)		space_to_eol (col_lendiff);	      else		_rl_clear_to_eol (col_lendiff);	    }	}    }}/* Tell the update routines that we have moved onto a new (empty) line. */intrl_on_new_line (){  if (visible_line)    visible_line[0] = '\0';  _rl_last_c_pos = _rl_last_v_pos = 0;  _rl_vis_botlin = last_lmargin = 0;  if (vis_lbreaks)    vis_lbreaks[0] = vis_lbreaks[1] = 0;  visible_wrap_offset = 0;  return 0;}/* Tell the update routines that we have moved onto a new line with the   prompt already displayed.  Code originally from the version of readline   distributed with CLISP. */intrl_on_new_line_with_prompt (){  int prompt_size, i, l, real_screenwidth, newlines;  char *prompt_last_line;  /* Initialize visible_line and invisible_line to ensure that they can hold     the already-displayed prompt. */  prompt_size = strlen (rl_prompt) + 1;  init_line_structures (prompt_size);  /* Make sure the line structures hold the already-displayed prompt for     redisplay. */  strcpy (visible_line, rl_prompt);  strcpy (invisible_line, rl_prompt);  /* If the prompt contains newlines, take the last tail. */  prompt_last_line = strrchr (rl_prompt, '\n');  if (!prompt_last_line)    prompt_last_line = rl_prompt;  l = strlen (prompt_last_line);  if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)    _rl_last_c_pos = _rl_col_width (prompt_last_line, 0, l);  else    _rl_last_c_pos = l;  /* Dissect prompt_last_line into screen lines. Note that here we have     to use the real screenwidth. Readline's notion of screenwidth might be     one less, see terminal.c. */  real_screenwidth = _rl_screenwidth + (_rl_term_autowrap ? 0 : 1);  _rl_last_v_pos = l / real_screenwidth;  /* If the prompt length is a multiple of real_screenwidth, we don't know     whether the cursor is at the end of the last line, or already at the     beginning of the next line. Output a newline just to be safe. */  if (l > 0 && (l % real_screenwidth) == 0)    _rl_output_some_chars ("\n", 1);  last_lmargin = 0;  newlines = 0; i = 0;  while (i <= l)    {      _rl_vis_botlin = newlines;      vis_lbreaks[newlines++] = i;      i += real_screenwidth;    }  vis_lbreaks[newlines] = l;  visible_wrap_offset = 0;  return 0;}/* Actually update the display, period. */intrl_forced_update_display (){  if (visible_line)    {      register char *temp = visible_line;      while (*temp)	*temp++ = '\0';    }  rl_on_new_line ();  forced_display++;  (*rl_redisplay_function) ();  return 0;}/* Move the cursor from _rl_last_c_pos to NEW, which are buffer indices.   DATA is the contents of the screen line of interest; i.e., where   the movement is being done. */void_rl_move_cursor_relative (new, data)     int new;     const char *data;{  register int i;  /* If we don't have to do anything, then return. */#if defined (HANDLE_MULTIBYTE)  /* If we have multibyte characters, NEW is indexed by the buffer point in     a multibyte string, but _rl_last_c_pos is the display position.  In     this case, NEW's display position is not obvious. */  if ((MB_CUR_MAX == 1 || rl_byte_oriented ) && _rl_last_c_pos == new) return;#else  if (_rl_last_c_pos == new) return;#endif  /* It may be faster to output a CR, and then move forwards instead     of moving backwards. */  /* i == current physical cursor position. */  i = _rl_last_c_pos - W_OFFSET(_rl_last_v_pos, visible_wrap_offset);  if (new == 0 || CR_FASTER (new, _rl_last_c_pos) ||      (_rl_term_autowrap && i == _rl_screenwidth))    {#if defined (__MSDOS__)      putc ('\r', rl_outstream);#else      tputs (_rl_term_cr, 1, _rl_output_character_function);#endif /* !__MSDOS__ */      _rl_last_c_pos = 0;    }  if (_rl_last_c_pos < new)    {      /* Move the cursor forward.  We do it by printing the command	 to move the cursor forward if there is one, else print that	 portion of the output buffer again.  Which is cheaper? */      /* The above comment is left here for posterity.  It is faster	 to print one character (non-control) than to print a control	 sequence telling the terminal to move forward one character.	 That kind of control is for people who don't know what the	 data is underneath the cursor. */#if defined (HACK_TERMCAP_MOTION)      if (_rl_term_forward_char)	{	  if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)	    {	      int width;	      width = _rl_col_width (data, _rl_last_c_pos, new);	      for (i = 0; i < width; i++)		tputs (_rl_term_forward_char, 1, _rl_output_character_function);	    }	  else	    {	      for (i = _rl_last_c_pos; i < new; i++)		tputs (_rl_term_forward_char, 1, _rl_output_character_function);	    }	}      else if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)	{	  tputs (_rl_term_cr, 1, _rl_output_character_function);	  for (i = 0; i < new; i++)	    putc (data[i], rl_outstream);	}      else	for (i = _rl_last_c_pos; i < new; i++)	  putc (data[i], rl_outstream);#else /* !HACK_TERMCAP_MOTION */      if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)	{	  tputs (_rl_term_cr, 1, _rl_output_character_function);	  for (i = 0; i < new; i++)	    putc (data[i], rl_outstream);	}      else	for (i = _rl_last_c_pos; i < new; i++)	  putc (data[i], rl_outstream);#endif /* !HACK_TERMCAP_MOTION */    }#if defined (HANDLE_MULTIBYTE)  /* NEW points to the buffer point, but _rl_last_c_pos is the display point.     The byte length of the string is probably bigger than the column width     of the string, which means that if NEW == _rl_last_c_pos, then NEW's     display point is less than _rl_last_c_pos. */  else if (_rl_last_c_pos >= new)#else  else if (_rl_last_c_pos > new)#endif    {      if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)	{	  tputs (_rl_term_cr, 1, _rl_output_character_function);	  for (i = 0; i < new; i++)	    putc (data[i], rl_outstream);	}      else	_rl_backspace (_rl_last_c_pos - new);    }  if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)    _rl_last_c_pos =  _rl_col_width (data, 0, new);  else    _rl_last_c_pos = new;}/* PWP: move the cursor up or down. */void_rl_move_vert (to)     int to;{  register int delta, i;  if (_rl_last_v_pos == to || to > _rl_screenheight)    return;  if ((delta = to - _rl_last_v_pos) > 0)    {      for (i = 0; i < delta; i++)	putc ('\n', rl_outstream);#if defined (__MSDOS__)      putc ('\r', rl_outstream);#else      tputs (_rl_term_cr, 1, _rl_output_character_function);#endif      _rl_last_c_pos = 0;    }  else    {			/* delta < 0 */      if (_rl_term_up && *_rl_term_up)	for (i = 0; i < -delta; i++)	  tputs (_rl_term_up, 1, _rl_output_character_function);    }  _rl_last_v_pos = to;		/* Now TO is here */}/* Physically print C on rl_outstream.  This is for functions which know   how to optimize the display.  Return the number of characters output. */intrl_show_char (c)     int c;{  int n = 1;  if (META_CHAR (c) && (_rl_output_meta_chars == 0))    {      fprintf (rl_outstream, "M-");      n += 2;      c = UNMETA (c);    }#if defined (DISPLAY_TABS)  if ((CTRL_CHAR (c) && c != '\t') || c == RUBOUT)#else  if (CTRL_CHAR (c) || c == RUBOUT)#endif /* !DISPLAY_TABS */    {      fprintf (rl_outstream, "C-");      n += 2;      c = CTRL_CHAR (c) ? UNCTRL (c) : '?';    }  putc (c, rl_outstream);  fflush (rl_outstream);  return n;}intrl_character_len (c, pos)     register int c, pos;{  unsigned char uc;  uc = (unsigned char)c;  if (META_CHAR (uc))    return ((_rl_output_meta_chars == 0) ? 4 : 1);  if (uc == '\t')    {#if defined (DISPLAY_TABS)      return (((pos | 7) + 1) - pos);#else      return (2);#endif /* !DISPLAY_TABS */    }  if (CTRL_CHAR (c) || c == RUBOUT)    return (2);  return ((ISPRINT (uc)) ? 1 : 2);}/* How to print things in the "echo-area".  The prompt is treated as a   mini-modeline. */#if defined (USE_VARARGS)int#if defined (PREFER_STDARG)rl_message (const char *format, ...)#elserl_message (va_alist)     va_dcl#endif{  va_list args;#if defined (PREFER_VARARGS)  char *format;#endif#if defined (PREFER_STDARG)  va_start (args, format);#else  va_start (args);  format = va_arg (args, char *);#endif#if defined (HAVE_VSNPRINTF)  vsnprintf (msg_buf, sizeof (msg_buf) - 1, format, args);#else  vsprintf (msg_buf, format, args);  msg_buf[sizeof(msg_buf) - 1] = '\0';	/* overflow? */#endif  va_end (args);  rl_display_prompt = msg_buf;  (*rl_redisplay_function) ();  return 0;}#else /* !USE_VARARGS */intrl_message (format, arg1, arg2)     char *format;{  sprintf (msg_buf, format, arg1, arg2);  msg_buf[sizeof(msg_buf) - 1] = '\0';	/* overflow? */  rl_display_prompt = msg_buf;  (*rl_redisplay_function) ();  return 0;}#endif /* !USE_VARARGS *//* How to clear things from the "echo-area". */intrl_clear_message (){  rl_display_prompt = rl_prompt;  (*rl_redisplay_function) ();  return 0;}intrl_reset_line_state (){  rl_on_new_line ();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品亚洲精品国产欧美| 91色.com| 亚洲精品日日夜夜| 在线一区二区三区四区五区 | 91精品欧美久久久久久动漫| 精品亚洲aⅴ乱码一区二区三区| 欧美一区二区成人| 播五月开心婷婷综合| 午夜私人影院久久久久| 精品va天堂亚洲国产| 在线亚洲一区二区| 国产精品一区二区三区乱码 | 久久嫩草精品久久久久| 91国产成人在线| 成人永久看片免费视频天堂| 九九热在线视频观看这里只有精品| 亚洲欧美日韩人成在线播放| 国产精品嫩草99a| 日韩精品一区二| 日韩一卡二卡三卡四卡| av亚洲精华国产精华| 国产一区二区三区国产| 免费成人在线播放| 天天综合日日夜夜精品| 亚洲综合一区二区| 日韩伦理电影网| 国产精品无遮挡| 自拍偷拍国产亚洲| 日韩电影免费一区| 老司机精品视频一区二区三区| 国产在线精品免费| 色噜噜夜夜夜综合网| 成人激情综合网站| 成人ar影院免费观看视频| 国产精品99久| 国产91丝袜在线观看| 日本道在线观看一区二区| 日韩一区二区精品| 性做久久久久久免费观看| 一片黄亚洲嫩模| 美女性感视频久久| 九九精品视频在线看| 成人国产精品免费网站| 欧美一区二区三区成人| 久久夜色精品一区| 亚洲在线视频一区| 国产成人亚洲精品青草天美| 欧美亚洲国产一区二区三区va | 极品少妇xxxx精品少妇偷拍| 成人亚洲一区二区一| 欧美精品 国产精品| 国产精品毛片大码女人| 亚洲成人av电影在线| 国产成人免费视频网站高清观看视频| 成人激情图片网| av福利精品导航| 亚洲精品在线一区二区| 国产精品色眯眯| 国产一区二区调教| 国产日韩精品视频一区| 毛片av中文字幕一区二区| 91成人在线精品| 亚洲精品成人精品456| 成人h动漫精品一区二| 久久久久久久久蜜桃| 免费高清在线一区| 欧美一级免费大片| 美腿丝袜亚洲色图| 精品久久久久99| 精品中文字幕一区二区小辣椒| 欧美日韩国产免费一区二区| 亚洲乱码国产乱码精品精小说| 成人av综合在线| 亚洲日本va午夜在线影院| 色综合色狠狠综合色| 亚洲一区在线电影| 欧美一区二区久久| 国产成人精品免费一区二区| 欧美极品少妇xxxxⅹ高跟鞋| 99精品桃花视频在线观看| 中文子幕无线码一区tr| 欧美影视一区二区三区| 一区二区三区在线高清| 91精品久久久久久久久99蜜臂| 国产毛片精品视频| 一区二区三区鲁丝不卡| 欧美精品乱码久久久久久按摩| 日韩电影一二三区| 最好看的中文字幕久久| 91精品麻豆日日躁夜夜躁| 美女在线视频一区| 亚洲一区二区三区视频在线播放| 久久婷婷国产综合国色天香| 在线中文字幕一区二区| 国产精品一线二线三线精华| 一区二区三区在线观看视频| 2021国产精品久久精品| 欧美日韩美女一区二区| 国产不卡在线一区| 一区二区激情小说| 精品国产伦一区二区三区免费| 99精品在线观看视频| 国产在线精品不卡| 国产不卡一区视频| 精品一区二区免费视频| 日韩中文欧美在线| 性做久久久久久免费观看欧美| 一区二区三区视频在线看| 亚洲视频一区二区在线观看| 国产日产欧美一区二区视频| 久久精品一区蜜桃臀影院| 欧美激情艳妇裸体舞| 国产精品美女视频| 亚洲精品亚洲人成人网| 综合精品久久久| 亚洲国产精品久久久男人的天堂| 夜夜操天天操亚洲| 秋霞国产午夜精品免费视频| 久久精品99国产国产精| 高清久久久久久| 91玉足脚交白嫩脚丫在线播放| 色哟哟亚洲精品| 欧美亚洲国产一卡| 日韩欧美国产三级电影视频| 中日韩免费视频中文字幕| 香蕉成人伊视频在线观看| 另类调教123区| 色婷婷久久久久swag精品| 欧美一区二区久久| 尤物在线观看一区| 国产在线视频精品一区| 欧美亚洲国产一区二区三区va | 丰满少妇久久久久久久| 欧美视频完全免费看| 久久久久久免费网| 亚洲一级电影视频| www.日本不卡| 久久免费电影网| 美女网站色91| 欧美日韩免费高清一区色橹橹 | 欧美高清激情brazzers| 日本一区二区不卡视频| 蜜桃精品视频在线| 欧美日韩aaa| 亚洲午夜成aⅴ人片| 99精品国产91久久久久久 | 91精品国产福利在线观看| 中文字幕一区二区三区不卡在线| 激情深爱一区二区| 久久婷婷国产综合精品青草| 日本aⅴ免费视频一区二区三区| 欧美日韩中文国产| 日韩国产欧美三级| 欧美一级在线免费| 蓝色福利精品导航| 日韩欧美色电影| 色婷婷精品久久二区二区蜜臀av| 国产不卡高清在线观看视频| 久久精品国产999大香线蕉| 国产高清成人在线| 高清日韩电视剧大全免费| 高清成人免费视频| 欧美一区二区三区公司| 亚洲视频资源在线| 麻豆成人久久精品二区三区小说| 亚洲一区二区视频在线观看| 亚洲va韩国va欧美va精品 | 亚洲色图视频网站| 日精品一区二区三区| 91丨国产丨九色丨pron| 精品国产乱码久久久久久蜜臀| 精品粉嫩超白一线天av| 欧美激情综合五月色丁香小说| 一区二区三区在线视频观看58| 日韩一区精品字幕| 8v天堂国产在线一区二区| 亚洲免费av在线| 97se亚洲国产综合自在线观| 5月丁香婷婷综合| 一区二区三区四区高清精品免费观看| 国产精品高潮久久久久无| 亚洲一二三四在线观看| 国产精华液一区二区三区| 92精品国产成人观看免费| 亚洲丝袜另类动漫二区| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 一区二区三区欧美日| 93久久精品日日躁夜夜躁欧美| 久久久亚洲午夜电影| 男女性色大片免费观看一区二区 | 天天综合色天天综合| 99精品热视频| 亚洲图片欧美综合| 4438x亚洲最大成人网| 日韩中文字幕不卡| www激情久久| 在线观看一区二区精品视频| 亚洲免费观看高清完整版在线观看熊| 国产美女在线精品| 亚洲一区av在线|