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

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

?? pcomplib.c

?? android-w.song.android.widget
?? C
字號:
/* pcomplib.c - library functions for programmable completion. *//* Copyright (C) 1999-2009 Free Software Foundation, Inc.   This file is part of GNU Bash, the Bourne Again SHell.   Bash is free software: you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation, either version 3 of the License, or   (at your option) any later version.   Bash is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.   You should have received a copy of the GNU General Public License   along with Bash.  If not, see <http://www.gnu.org/licenses/>.*/#include <config.h>#if defined (PROGRAMMABLE_COMPLETION)#include "bashansi.h"#include <stdio.h>#if defined (HAVE_UNISTD_H)#  ifdef _MINIX#    include <sys/types.h>#  endif#  include <unistd.h>#endif#include "bashintl.h"#include "shell.h"#include "pcomplete.h"#define COMPLETE_HASH_BUCKETS	32	/* must be power of two */#define STRDUP(x)	((x) ? savestring (x) : (char *)NULL)HASH_TABLE *prog_completes = (HASH_TABLE *)NULL;static void free_progcomp __P((PTR_T));COMPSPEC *compspec_create (){  COMPSPEC *ret;  ret = (COMPSPEC *)xmalloc (sizeof (COMPSPEC));  ret->refcount = 0;  ret->actions = (unsigned long)0;  ret->options = (unsigned long)0;  ret->globpat = (char *)NULL;  ret->words = (char *)NULL;  ret->prefix = (char *)NULL;  ret->suffix = (char *)NULL;  ret->funcname = (char *)NULL;  ret->command = (char *)NULL;  ret->lcommand = (char *)NULL;  ret->filterpat = (char *)NULL;  return ret;}voidcompspec_dispose (cs)     COMPSPEC *cs;{  cs->refcount--;  if (cs->refcount == 0)    {      FREE (cs->globpat);      FREE (cs->words);      FREE (cs->prefix);      FREE (cs->suffix);      FREE (cs->funcname);      FREE (cs->command);      FREE (cs->lcommand);      FREE (cs->filterpat);      free (cs);    }}COMPSPEC *compspec_copy (cs)     COMPSPEC *cs;{  COMPSPEC *new;  new = (COMPSPEC *)xmalloc (sizeof (COMPSPEC));  new->refcount = cs->refcount;  new->actions = cs->actions;  new->options = cs->options;  new->globpat = STRDUP (cs->globpat);  new->words = STRDUP (cs->words);  new->prefix = STRDUP (cs->prefix);  new->suffix = STRDUP (cs->suffix);  new->funcname = STRDUP (cs->funcname);  new->command = STRDUP (cs->command);  new->lcommand = STRDUP (cs->lcommand);  new->filterpat = STRDUP (cs->filterpat);  return new;}voidprogcomp_create (){  if (prog_completes == 0)    prog_completes = hash_create (COMPLETE_HASH_BUCKETS);}intprogcomp_size (){  return (HASH_ENTRIES (prog_completes));}static voidfree_progcomp (data)     PTR_T data;{  COMPSPEC *cs;  cs = (COMPSPEC *)data;  compspec_dispose (cs);}  voidprogcomp_flush (){  if (prog_completes)    hash_flush (prog_completes, free_progcomp);}voidprogcomp_dispose (){  if (prog_completes)    hash_dispose (prog_completes);  prog_completes = (HASH_TABLE *)NULL;}intprogcomp_remove (cmd)     char *cmd;{  register BUCKET_CONTENTS *item;  if (prog_completes == 0)    return 1;  item = hash_remove (cmd, prog_completes, 0);  if (item)    {      if (item->data)	free_progcomp (item->data);      free (item->key);      free (item);      return (1);    }  return (0);}intprogcomp_insert (cmd, cs)      char *cmd;      COMPSPEC *cs;{  register BUCKET_CONTENTS *item;  if (cs == NULL)    programming_error (_("progcomp_insert: %s: NULL COMPSPEC"), cmd);  if (prog_completes == 0)    progcomp_create ();  cs->refcount++;  item = hash_insert (cmd, prog_completes, 0);  if (item->data)    free_progcomp (item->data);  else    item->key = savestring (cmd);  item->data = cs;  return 1;}COMPSPEC *progcomp_search (cmd)     const char *cmd;{  register BUCKET_CONTENTS *item;  COMPSPEC *cs;  if (prog_completes == 0)    return ((COMPSPEC *)NULL);  item = hash_search (cmd, prog_completes, 0);  if (item == NULL)    return ((COMPSPEC *)NULL);  cs = (COMPSPEC *)item->data;  return (cs);}voidprogcomp_walk (pfunc)     hash_wfunc *pfunc;{  if (prog_completes == 0 || pfunc == 0 || HASH_ENTRIES (prog_completes) == 0)    return;  hash_walk (prog_completes, pfunc);}#endif /* PROGRAMMABLE_COMPLETION */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品高潮久久久久无| 亚洲电影一区二区| 色综合网色综合| 久久影音资源网| 久久99精品久久久久| 久久久精品tv| 91久久奴性调教| 久久99久久久欧美国产| 国产欧美一区二区精品婷婷 | 91精选在线观看| 国内精品免费在线观看| 一区二区三区日本| 日韩免费性生活视频播放| 成人91在线观看| 开心九九激情九九欧美日韩精美视频电影 | 韩国成人精品a∨在线观看| 亚洲国产岛国毛片在线| 制服丝袜亚洲精品中文字幕| 国产自产v一区二区三区c| 亚洲免费av网站| 亚洲国产激情av| 国产免费久久精品| 日韩欧美中文字幕精品| 91福利视频在线| 91污在线观看| 91蜜桃网址入口| 色呦呦日韩精品| 91捆绑美女网站| 成人国产在线观看| 成人手机在线视频| 成人免费福利片| 93久久精品日日躁夜夜躁欧美| 成人免费观看视频| 国产原创一区二区三区| 久久99精品久久只有精品| 狂野欧美性猛交blacked| 美女在线观看视频一区二区| 久久成人免费日本黄色| 精品亚洲aⅴ乱码一区二区三区| 精品一区二区在线视频| 国产一区二区电影| 高清国产一区二区三区| 一二三四社区欧美黄| 国产一区二区精品久久91| 欧洲一区二区av| aaa国产一区| 久久久久久久久久久99999| 免播放器亚洲一区| 欧美高清精品3d| 亚洲国产精品自拍| 色婷婷一区二区三区四区| 中文字幕一区二区三中文字幕| 国产精品一区二区视频| 久久夜色精品一区| 国产一区二区在线视频| 亚洲精品一区二区三区福利| 精品一区二区三区免费毛片爱| 91精品国产综合久久香蕉麻豆| 免费亚洲电影在线| 久久精品视频网| 色综合天天综合网国产成人综合天| 国产欧美一区二区精品秋霞影院 | 成人精品gif动图一区| 国产精品人成在线观看免费| 成人免费电影视频| 亚洲黄色性网站| 欧美色手机在线观看| 青青青伊人色综合久久| 久久婷婷综合激情| 91亚洲精品久久久蜜桃网站| 五月综合激情日本mⅴ| 欧美成人r级一区二区三区| 国产成人综合亚洲91猫咪| 亚洲成人动漫在线免费观看| 久久精品日韩一区二区三区| 欧美视频一区二区三区四区| 蜜芽一区二区三区| 欧美极品少妇xxxxⅹ高跟鞋| 一本色道久久加勒比精品| 奇米一区二区三区| 国产无一区二区| 色婷婷av一区| 老司机精品视频一区二区三区| 国产欧美日韩亚州综合| 91丨九色丨尤物| 日韩高清一区二区| 日韩欧美在线综合网| 国产成人鲁色资源国产91色综| 久久蜜桃av一区精品变态类天堂| 国产99久久久精品| 亚洲线精品一区二区三区| 26uuu国产在线精品一区二区| 精品一区二区三区在线观看| 自拍偷拍亚洲激情| 国产无遮挡一区二区三区毛片日本| 日韩三级高清在线| 国产成人综合网| 国产v日产∨综合v精品视频| 国内一区二区在线| 日本不卡高清视频| 免费观看日韩电影| 五月婷婷综合在线| 亚洲国产欧美日韩另类综合 | 欧美成人一区二区三区| 国产91高潮流白浆在线麻豆| 久久av资源站| 久久99精品久久只有精品| 亚洲r级在线视频| 亚洲一二三四区| 一区二区三区精品| 亚洲精品视频观看| 亚洲日本va午夜在线电影| 国产精品国产a级| 国产精品国产三级国产aⅴ中文 | 亚洲一区二区三区在线| 亚洲人被黑人高潮完整版| 亚洲444eee在线观看| 不卡一区二区中文字幕| 日韩欧美成人激情| 日韩经典一区二区| 欧美亚洲一区二区在线观看| 久久精品人人做人人爽人人| 久久先锋影音av| 亚洲一区二区四区蜜桃| 国产一区二区三区黄视频 | 国产精品二三区| 中文字幕在线播放不卡一区| 亚洲国产日韩在线一区模特| 日本午夜精品一区二区三区电影| 国产综合色产在线精品| www.日本不卡| 丝袜美腿一区二区三区| 欧洲国内综合视频| 亚洲精品视频在线观看免费| 自拍视频在线观看一区二区| 麻豆精品在线看| 91精品久久久久久蜜臀| 婷婷中文字幕一区三区| 欧美天堂一区二区三区| 亚洲国产成人91porn| 欧美日韩精品一区二区天天拍小说| 一二三区精品视频| 欧美久久久久久久久久| 久久精品国产一区二区三区免费看| 91精品欧美综合在线观看最新 | 亚洲夂夂婷婷色拍ww47| 亚洲综合清纯丝袜自拍| 亚洲国产精品高清| 亚洲最新在线观看| 天堂精品中文字幕在线| 五月天激情综合网| 国产mv日韩mv欧美| av一本久道久久综合久久鬼色| 51精品久久久久久久蜜臀| 波多野结衣亚洲一区| 亚洲成人免费电影| 在线亚洲+欧美+日本专区| www.欧美日韩| 欧美精品久久99| 欧美极品美女视频| 日本欧美一区二区在线观看| 成人动漫一区二区| 婷婷开心激情综合| 国产精品乱码一区二区三区软件 | 成人av电影在线网| 欧美日韩国产成人在线免费| 国产日韩欧美高清在线| 肉丝袜脚交视频一区二区| 91麻豆高清视频| 亚洲一区二区在线视频| 欧美色图天堂网| 亚洲欧洲日韩综合一区二区| 色婷婷精品大视频在线蜜桃视频| 久久se这里有精品| 91丝袜美腿高跟国产极品老师 | 欧美影视一区在线| 国产亚洲成aⅴ人片在线观看| 亚洲成人动漫精品| 91亚洲精华国产精华精华液| 久久香蕉国产线看观看99| 男女激情视频一区| 欧美日韩一级片在线观看| 国产精品福利一区二区| 国产激情91久久精品导航 | 亚洲欧洲美洲综合色网| 国产一区二区在线影院| 欧美一级黄色录像| 日韩电影在线免费观看| 欧美色大人视频| 亚洲夂夂婷婷色拍ww47| 91激情在线视频| 亚洲激情六月丁香| 97久久精品人人做人人爽50路 | 一本久久综合亚洲鲁鲁五月天| 亚洲国产激情av| 成人在线视频一区| 中文字幕一区二| 99麻豆久久久国产精品免费| 国产精品福利电影一区二区三区四区| 高清国产一区二区|