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

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

?? ckucmd.c

?? C 語言核心協議的 C 語言源代碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
        debug(F111,"cmcfm: getwd",atmbuf,xc);        switch (x) {            case -4:                    /* EOF */            case -2:            case -1:                return(x);            case 0:                     /* Space */                continue;            case 1:                     /* End of line */                if (xc > 0) {                    printf2("?Not confirmed - %s\n",atmbuf);                    return(-2);                } else return(0);            case 2:                putchar(BEL);                continue;            case 3:                if (xc > 0) {                    printf2("\n?Not confirmed - %s\n",atmbuf);                    return(-2);                }                printf("\n Type a carriage return to confirm the command\n");                printf3("%s%s",cmprom,cmdbuf);                continue;        }    }}/* Keyword help routines *//*  C L R H L P -- Initialize/Clear the help line buffer  */clrhlp() {                              /* Clear the help buffer */    hlpbuf[0] = NUL;    hh = hx = 0;}/*  A D D H L P  --  Add a string to the help line buffer  */addhlp(s) char *s; {                    /* Add a word to the help buffer */    int j;    hh++;                               /* Count this column */    for (j = 0; (j < hc) && (*s != NUL); j++) { /* Fill the column */        hlpbuf[hx++] = *s++;    }    if (*s != NUL)                      /* Still some chars left in string? */        hlpbuf[hx-1] = '+';             /* Mark as too long for column. */    if (hh < (hw / hc)) {               /* Pad col with spaces if necessary */        for (; j < hc; j++) {            hlpbuf[hx++] = SP;        }    } else {                            /* If last column, */        hlpbuf[hx++] = NUL;             /* no spaces. */        dmphlp();                       /* Print it. */        return;    }}/*  D M P H L P  --  Dump the help line buffer  */dmphlp() {                              /* Print the help buffer */    hlpbuf[hx++] = NUL;    printf2(" %s\n",hlpbuf);    clrhlp();}/*  L O O K U P  --  Lookup the string in the given array of strings  *//* Call this way:  v = lookup(table,word,n,&x);   table - a 'struct keytab' table.   word  - the target string to look up in the table.   n     - the number of elements in the table.   x     - address of an integer for returning the table array index. The keyword table must be arranged in ascending alphabetical order, and all letters must be lowercase. Returns the keyword's associated value ( zero or greater ) if found, with the variable x set to the array index, or:  -3 if nothing to look up (target was null),  -2 if ambiguous,  -1 if not found. A match is successful if the target matches a keyword exactly, or if the target is a prefix of exactly one keyword.  It is ambiguous if the target matches two or more keywords from the table.*/lookup(table,cmd,n,x) char *cmd; struct keytab table[]; int n, *x; {    int i, v, cmdlen;/* Lowercase & get length of target, if it's null return code -3. */    if ((((cmdlen = lower(cmd))) == 0) || (n < 1)) return(-3);/* Not null, look it up */    for (i = 0; i < n-1; i++) {        if (!strcmp(table[i].kwd,cmd) ||           ((v = !strncmp(table[i].kwd,cmd,cmdlen)) &&             strncmp(table[i+1].kwd,cmd,cmdlen))) {                *x = i;                return(table[i].val);             }        if (v) return(-2);    }/* Last (or only) element */    if (!strncmp(table[n-1].kwd,cmd,cmdlen)) {        *x = n-1;        return(table[n-1].val);    } else return(-1);}/*  G E T W D  --  Gets a "word" from the command input stream  *//*Usage: retcode = getwd();Returns: -4 if end of file (e.g. pipe broken) -2 if command buffer overflows -1 if user did some deleting  0 if word terminates with SP or tab  1 if ... CR  2 if ... ESC  3 if ... ?With:  pp pointing to beginning of word in buffer  bp pointing to after current position  atmbuf containing a copy of the word  cc containing the number of characters in the word copied to atmbuf*/getwd() {    int c;                              /* Current char */    static int inword = 0;              /* Flag for start of word found */    int quote = 0;                      /* Flag for quote character */    int echof = 0;                      /* Flag for whether to echo */    int ignore = 0;    pp = np;                            /* Start of current field */    debug(F101,"getwd: cmdbuf","",(int) cmdbuf);    debug(F101," bp","",(int) bp);    debug(F101," pp","",(int) pp);    debug(F110," cmdbuf",cmdbuf,0);    while (bp < cmdbuf+CMDBL) {         /* Loop */        ignore = echof = 0;             /* Flag for whether to echo */        if ((c = *bp) == NUL) {         /* Get next character */            if (dpx) echof = 1;         /* from reparse buffer */            c = getchar();              /* or from tty. */            if (c == EOF) return(-4);        } else ignore = 1;        if (quote == 0) {            if (!ignore && (c == '\\')) { /* Quote character */               quote = 1;               continue;            }            if (c == FF) {              /* Formfeed. */                c = NL;                 /* Replace with newline */                system("clear");        /* and clear the screen. */            }            if (c == HT) c = SP;        /* Substitute space for tab. *//* cont'd... *//* ...getwd(), cont'd */            if (c == SP) {              /* If space */                *bp++ = c;              /* deposit it in buffer. */                if (echof) putchar(c);  /* echo it. */                if (inword == 0) {      /* If leading, gobble it. */                    pp++;                    continue;                } else {                /* If terminating, return. */                    np = bp;                    setatm(pp);                    inword = 0;                    return(cmflgs = 0);                }            }            if (c == NL || c == CR) {   /* CR, LF */                *bp = NUL;              /* End the string */                if (echof) {            /* If echoing, */                    putchar(c);         /* echo the typein */#ifdef aegis                    if (c == CR) putchar(NL);#endif                }                np = bp;                /* Where to start next field. */                setatm(pp);             /* Copy this field to atom buffer. */                inword = 0;                return(cmflgs = 1);            }            if (!ignore && (c == '?')) { /* Question mark */                putchar(c);                *bp = NUL;                setatm(pp);                return(cmflgs = 3);            }            if (c == ESC) {             /* ESC */                *bp = NUL;                setatm(pp);                return(cmflgs = 2);            }            if (c == BS || c == RUB) {  /* Character deletion */                if (bp > cmdbuf) {      /* If still in buffer... */                    printf("\b \b");    /* erase character from screen, */                    bp--;               /* point behind it, */                    if (*bp == SP) inword = 0; /* Flag if current field gone */                    *bp = NUL;          /* Erase character from buffer. */                } else {                /* Otherwise, */                    putchar(BEL);       /* beep, */                    cmres();            /* and start parsing a new command. */                }                if (pp < bp) continue;                else return(cmflgs = -1);            }            if (c == LDEL) {            /* ^U, line deletion */                while ((bp--) > cmdbuf) {                    printf("\b \b");                    *bp = NUL;                }                cmres();                /* Restart the command. */                inword = 0;                return(cmflgs = -1);            }/* cont'd... *//* ...getwd(), cont'd */            if (c == WDEL) {            /* ^W, word deletion */                if (bp <= cmdbuf) {     /* Beep if nothing to delete */                    putchar(BEL);                    cmres();                    return(cmflgs = -1);                }                bp--;                for ( ; (bp >= cmdbuf) && (*bp == SP) ; bp--) {                    printf("\b \b");                    *bp = NUL;                }                for ( ; (bp >= cmdbuf) && (*bp != SP) ; bp--) {                    printf("\b \b");                    *bp = NUL;                }                bp++;                inword = 0;                return(cmflgs = -1);            }            if (c == RDIS) {            /* ^R, redisplay */                *bp = NUL;                printf3("\n%s%s",cmprom,cmdbuf);                continue;            }        }        if (echof) putchar(c);          /* If tty input, echo. */        inword = 1;                     /* Flag we're in a word. */        if (quote == 0 || c != NL) *bp++ = c;   /* And deposit it. */        quote = 0;                      /* Turn off quote. */    }                                   /* end of big while */    putchar(BEL);                       /* Get here if... */    printf("\n?Buffer full\n");    return(cmflgs = -2);}/* Utility functions *//* A D D B U F  -- Add the string pointed to by cp to the command buffer  */addbuf(cp) char *cp; {    int len = 0;    while ((*cp != NUL) && (bp < cmdbuf+CMDBL)) {        *bp++ = *cp++;                  /* Copy and */        len++;                          /* count the characters. */    }    *bp++ = SP;                         /* Put a space at the end */    *bp = NUL;                          /* Terminate with a null */    np = bp;                            /* Update the next-field pointer */    return(len);                        /* Return the length */}/*  S E T A T M  --  Deposit a string in the atom buffer  */setatm(cp) char *cp; {    char *ap;    cc = 0;    ap = atmbuf;    *ap = NUL;    while (*cp == SP) cp++;    while ((*cp != SP) && (*cp != NL) && (*cp != NUL) && (*cp != CR)) {        *ap++ = *cp++;        cc++;    }    *ap++ = NUL;    return(cc);                         /* Return length */}/*  D I G I T S  -- Verify that all the characters in line are digits  */digits(s) char *s; {    while (*s) {        if (!isdigit(*s)) return(0);        s++;    }    return(1);}/*  L O W E R  --  Lowercase a string  */lower(s) char *s; {    int n = 0;    while (*s) {        if (isupper(*s)) *s = tolower(*s);        s++, n++;    }    return(n);}/*  T E S T  --  Bit test  */test(x,m) int x, m; { /*  Returns 1 if any bits from m are on in x, else 0  */    return((x & m) ? 1 : 0);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品123| 久久婷婷国产综合国色天香| 日韩精品专区在线| 亚洲天堂久久久久久久| 青娱乐精品在线视频| 色网综合在线观看| 国产午夜精品一区二区| 日本少妇一区二区| 一本到不卡精品视频在线观看| 精品少妇一区二区三区在线播放 | 欧美日本在线播放| 久久精品一区四区| 久久99国产精品麻豆| 欧美二区在线观看| 亚洲一区二区高清| 91在线一区二区| 国产精品美日韩| 黑人精品欧美一区二区蜜桃| 日韩一区二区电影| 亚洲成av人片www| 色婷婷精品大视频在线蜜桃视频| 久久久久九九视频| 国产精品综合在线视频| 精品播放一区二区| 韩国毛片一区二区三区| 欧美成人艳星乳罩| 久久99久久99| 精品国产不卡一区二区三区| 麻豆91在线播放| 欧美sm美女调教| 日本欧美加勒比视频| 69av一区二区三区| 日产欧产美韩系列久久99| 欧美日韩国产经典色站一区二区三区| 尤物视频一区二区| 欧美午夜精品免费| 日韩国产成人精品| 欧美zozo另类异族| 国产精品夜夜爽| 国产精品婷婷午夜在线观看| 成人av电影在线观看| 国产精品国产馆在线真实露脸 | 国产精品久久久一区麻豆最新章节| 精彩视频一区二区| 国产亚洲精品久| 成人免费黄色在线| ●精品国产综合乱码久久久久| 91年精品国产| 日韩精品欧美精品| 久久一夜天堂av一区二区三区| 国产美女视频一区| 1区2区3区精品视频| 欧美性受xxxx黑人xyx性爽| 日韩精品一卡二卡三卡四卡无卡| 欧美一区二区在线免费观看| 黑人精品欧美一区二区蜜桃 | 五月天亚洲婷婷| 精品国产乱码久久久久久久 | 久久精品国产亚洲高清剧情介绍| 日日夜夜精品免费视频| 欧美一二三区在线观看| 成人午夜免费av| 亚洲国产一区在线观看| 久久午夜国产精品| 99国产精品久久久久久久久久久| 日韩精品欧美成人高清一区二区| 久久九九久精品国产免费直播| 一本一本大道香蕉久在线精品| 免费看欧美美女黄的网站| 久久精品日产第一区二区三区高清版| 99麻豆久久久国产精品免费| 免费在线欧美视频| 日韩美女精品在线| 精品成人在线观看| 欧美色图免费看| 粉嫩久久99精品久久久久久夜 | 免费观看成人av| √…a在线天堂一区| 欧美成人午夜电影| 欧美伊人精品成人久久综合97| 国产精品影视在线观看| 天天综合色天天综合色h| 中文字幕免费在线观看视频一区| 欧美日韩亚洲综合| 91婷婷韩国欧美一区二区| 久久精品久久综合| 亚洲va中文字幕| 18成人在线视频| 国产欧美日韩麻豆91| 欧美一级在线观看| 欧美主播一区二区三区| 成人三级在线视频| 国精产品一区一区三区mba视频 | 国产精品无码永久免费888| 日韩一二在线观看| 欧美三级视频在线播放| 91丨porny丨在线| 成人爽a毛片一区二区免费| 麻豆国产精品官网| 五月天久久比比资源色| 一区二区三区四区在线免费观看| 国产欧美一区二区精品秋霞影院| 日韩精品一区二区三区视频在线观看| 欧美日韩日日夜夜| 在线日韩一区二区| 在线免费观看不卡av| 91在线视频免费91| 99久久久免费精品国产一区二区| 成人综合在线观看| 成人激情小说网站| 国产传媒日韩欧美成人| 国产精品一区二区91| 国产精品综合av一区二区国产馆| 在线播放91灌醉迷j高跟美女 | 欧美成人乱码一区二区三区| 欧美日本在线一区| 欧美精品色一区二区三区| 欧美日韩1234| 91麻豆精品国产91久久久久久久久| 精品视频免费在线| 欧美美女直播网站| 欧美日韩激情一区二区三区| 欧美综合在线视频| 91麻豆精品国产91久久久久久久久 | 欧美午夜精品久久久久久孕妇| 色婷婷亚洲一区二区三区| 色狠狠色狠狠综合| 欧美日韩国产a| 日韩欧美电影一二三| 日韩欧美你懂的| 日本一区二区三区久久久久久久久不 | 久久国产精品一区二区| 国产一区二区三区在线观看免费视频 | 最新国产成人在线观看| 亚洲一区二区三区四区在线| 首页综合国产亚洲丝袜| 国产在线精品不卡| 不卡视频在线看| 欧美日本一区二区三区| 日韩一区二区在线观看视频播放| 久久久精品tv| 亚洲一区二区四区蜜桃| 免费成人美女在线观看| 成人性生交大合| 欧美性做爰猛烈叫床潮| 日韩视频不卡中文| 国产精品三级视频| 婷婷丁香久久五月婷婷| 国产美女精品一区二区三区| 91亚洲午夜精品久久久久久| 在线不卡中文字幕| 国产日本一区二区| 亚洲成a人片综合在线| 国产麻豆一精品一av一免费| 色综合天天综合狠狠| 欧美成人艳星乳罩| 一区二区在线看| 国产高清成人在线| 欧美日本视频在线| 国产精品日韩成人| 伦理电影国产精品| 91老司机福利 在线| 精品99一区二区| 亚洲v中文字幕| 97久久超碰精品国产| 精品国产免费视频| 亚洲成人午夜电影| 欧美一卡在线观看| 亚洲精品中文字幕乱码三区| 激情图片小说一区| 欧美区视频在线观看| 中文字幕亚洲一区二区av在线| 麻豆精品视频在线观看视频| 91福利在线免费观看| 国产精品视频在线看| 精品在线播放午夜| 久久精品国产久精国产| 国产在线国偷精品免费看| 欧美日本一道本在线视频| 最近日韩中文字幕| 国产91色综合久久免费分享| 欧美mv和日韩mv的网站| 日韩国产在线一| 欧美午夜精品久久久| 日韩毛片在线免费观看| 成人激情免费视频| 久久夜色精品国产欧美乱极品| 日韩电影免费一区| 欧美日韩国产首页在线观看| 亚洲综合男人的天堂| 91日韩一区二区三区| 亚洲欧美日韩在线不卡| 成人av免费在线播放| 国产精品国产三级国产aⅴ入口 | 亚洲自拍与偷拍| 色视频成人在线观看免| 一区二区三区成人在线视频| 一本到不卡精品视频在线观看| 亚洲色图清纯唯美| 91美女在线观看|