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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? popt.c

?? rsync的核心代碼庫(kù)。主要作用是比較二進(jìn)制文件
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
    if(con->arg_strip == NULL) {	con->arg_strip = PBM_ALLOC(con->optionStack[0].argc);    }    PBM_SET(which, con->arg_strip);}/* returns 'val' element, -1 on last item, POPT_ERROR_* on error */int poptGetNextOpt(poptContext con){    const struct poptOption * opt = NULL;    int done = 0;    while (!done) {	const char * origOptString = NULL;	poptCallbackType cb = NULL;	const void * cbData = NULL;	const char * longArg = NULL;	int canstrip = 0;	while (!con->os->nextCharArg && con->os->next == con->os->argc		&& con->os > con->optionStack) {	    cleanOSE(con->os--);	}	if (!con->os->nextCharArg && con->os->next == con->os->argc) {	    invokeCallbacks(con, con->options, 1);	    if (con->doExec) execCommand(con);	    return -1;	}	/* Process next long option */	if (!con->os->nextCharArg) {	    char * localOptString, * optString;	    int thisopt;	    if (con->os->argb && PBM_ISSET(con->os->next, con->os->argb)) {		con->os->next++;		continue;	    }	    thisopt=con->os->next;	    origOptString = con->os->argv[con->os->next++];	    if (con->restLeftover || *origOptString != '-') {		con->leftovers[con->numLeftovers++] = origOptString;		if (con->flags & POPT_CONTEXT_POSIXMEHARDER)		    con->restLeftover = 1;		continue;	    }	    /* Make a copy we can hack at */	    localOptString = optString =			strcpy(alloca(strlen(origOptString) + 1),			origOptString);	    if (!optString[0])		return POPT_ERROR_BADOPT;	    if (optString[1] == '-' && !optString[2]) {		con->restLeftover = 1;		continue;	    } else {		char *oe;		int singleDash;		optString++;		if (*optString == '-')		    singleDash = 0, optString++;		else		    singleDash = 1;		/* XXX aliases with arg substitution need "--alias=arg" */		if (handleAlias(con, optString, '\0', NULL))		    continue;		if (handleExec(con, optString, '\0'))		    continue;		/* Check for "--long=arg" option. */		for (oe = optString; *oe && *oe != '='; oe++)		    ;		if (*oe == '=') {		    *oe++ = '\0';		    /* XXX longArg is mapped back to persistent storage. */		    longArg = origOptString + (oe - localOptString);		}		opt = findOption(con->options, optString, '\0', &cb, &cbData,				 singleDash);		if (!opt && !singleDash)		    return POPT_ERROR_BADOPT;	    }	    if (!opt) {		con->os->nextCharArg = origOptString + 1;	    } else {		if(con->os == con->optionStack &&		   opt->argInfo & POPT_ARGFLAG_STRIP) {		    canstrip = 1;		    poptStripArg(con, thisopt);		}	    }	}	/* Process next short option */	if (con->os->nextCharArg) {	    origOptString = con->os->nextCharArg;	    con->os->nextCharArg = NULL;	    if (handleAlias(con, NULL, *origOptString,			    origOptString + 1)) {		origOptString++;		continue;	    }	    if (handleExec(con, NULL, *origOptString))		continue;	    opt = findOption(con->options, NULL, *origOptString, &cb,			     &cbData, 0);	    if (!opt)		return POPT_ERROR_BADOPT;	    origOptString++;	    if (*origOptString)		con->os->nextCharArg = origOptString;	}	if (opt->arg && (opt->argInfo & POPT_ARG_MASK) == POPT_ARG_NONE) {	    *((int *)opt->arg) = 1;	} else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_VAL) {	    if (opt->arg)		*((int *) opt->arg) = opt->val;	} else if ((opt->argInfo & POPT_ARG_MASK) != POPT_ARG_NONE) {	    if (con->os->nextArg) {		xfree(con->os->nextArg);		con->os->nextArg = NULL;	    }	    if (longArg) {		con->os->nextArg = expandNextArg(con, longArg);	    } else if (con->os->nextCharArg) {		con->os->nextArg = expandNextArg(con, con->os->nextCharArg);		con->os->nextCharArg = NULL;	    } else {		while (con->os->next == con->os->argc &&		       con->os > con->optionStack) {		    cleanOSE(con->os--);		}		if (con->os->next == con->os->argc)		    return POPT_ERROR_NOARG;		/* make sure this isn't part of a short arg or the                   result of an alias expansion */		if(con->os == con->optionStack &&		   opt->argInfo & POPT_ARGFLAG_STRIP &&		   canstrip) {		    poptStripArg(con, con->os->next);		}				con->os->nextArg = expandNextArg(con, con->os->argv[con->os->next++]);	    }	    if (opt->arg) {		long aLong;		char *end;		switch (opt->argInfo & POPT_ARG_MASK) {		  case POPT_ARG_STRING:		    /* XXX memory leak, hard to plug */		    *((const char **) opt->arg) = xstrdup(con->os->nextArg);		    break;		  case POPT_ARG_INT:		  case POPT_ARG_LONG:		    aLong = strtol(con->os->nextArg, &end, 0);		    if (!(end && *end == '\0'))			return POPT_ERROR_BADNUMBER;		    if (aLong == LONG_MIN || aLong == LONG_MAX)			return POPT_ERROR_OVERFLOW;		    if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_LONG) {			*((long *) opt->arg) = aLong;		    } else {			if (aLong > INT_MAX || aLong < INT_MIN)			    return POPT_ERROR_OVERFLOW;			*((int *) opt->arg) = aLong;		    }		    break;		  default:		    fprintf(stdout, POPT_("option type (%d) not implemented in popt\n"),		      opt->argInfo & POPT_ARG_MASK);		    exit(EXIT_FAILURE);		}	    }	}	if (cb)	    cb(con, POPT_CALLBACK_REASON_OPTION, opt, con->os->nextArg, cbData);	else if (opt->val && ((opt->argInfo & POPT_ARG_MASK) != POPT_ARG_VAL))	    done = 1;	if ((con->finalArgvCount + 2) >= (con->finalArgvAlloced)) {	    con->finalArgvAlloced += 10;	    con->finalArgv = realloc(con->finalArgv,			    sizeof(*con->finalArgv) * con->finalArgvAlloced);	}	{    char *s = malloc((opt->longName ? strlen(opt->longName) : 0) + 3);	    if (opt->longName)		sprintf(s, "--%s", opt->longName);	    else		sprintf(s, "-%c", opt->shortName);	    con->finalArgv[con->finalArgvCount++] = s;	}	if (opt->arg && (opt->argInfo & POPT_ARG_MASK) != POPT_ARG_NONE		     && (opt->argInfo & POPT_ARG_MASK) != POPT_ARG_VAL) {	    con->finalArgv[con->finalArgvCount++] = xstrdup(con->os->nextArg);	}    }    return opt->val;}const char * poptGetOptArg(poptContext con) {    const char * ret = con->os->nextArg;    con->os->nextArg = NULL;    return ret;}const char * poptGetArg(poptContext con) {    if (con->numLeftovers == con->nextLeftover) return NULL;    return con->leftovers[con->nextLeftover++];}const char * poptPeekArg(poptContext con) {    if (con->numLeftovers == con->nextLeftover) return NULL;    return con->leftovers[con->nextLeftover];}const char ** poptGetArgs(poptContext con) {    if (con->numLeftovers == con->nextLeftover) return NULL;    /* some apps like [like RPM ;-) ] need this NULL terminated */    con->leftovers[con->numLeftovers] = NULL;    return (con->leftovers + con->nextLeftover);}void poptFreeContext(poptContext con) {    int i;    poptResetContext(con);    if (con->os->argb) free(con->os->argb);    for (i = 0; i < con->numAliases; i++) {	if (con->aliases[i].longName) xfree(con->aliases[i].longName);	free(con->aliases[i].argv);    }    for (i = 0; i < con->numExecs; i++) {	if (con->execs[i].longName) xfree(con->execs[i].longName);	xfree(con->execs[i].script);    }    if (con->execs) xfree(con->execs);    free(con->leftovers);    free(con->finalArgv);    if (con->appName) xfree(con->appName);    if (con->aliases) free(con->aliases);    if (con->otherHelp) xfree(con->otherHelp);    if (con->execPath) xfree(con->execPath);    if (con->arg_strip) PBM_FREE(con->arg_strip);        free(con);}int poptAddAlias(poptContext con, struct poptAlias newAlias,		/*@unused@*/ int flags){    int aliasNum = con->numAliases++;    struct poptAlias * alias;    /* SunOS won't realloc(NULL, ...) */    if (!con->aliases)	con->aliases = malloc(sizeof(newAlias) * con->numAliases);    else	con->aliases = realloc(con->aliases,			       sizeof(newAlias) * con->numAliases);    alias = con->aliases + aliasNum;    alias->longName = (newAlias.longName)	? strcpy(malloc(strlen(newAlias.longName) + 1), newAlias.longName)	: NULL;    alias->shortName = newAlias.shortName;    alias->argc = newAlias.argc;    alias->argv = newAlias.argv;    return 0;}const char * poptBadOption(poptContext con, int flags) {    struct optionStackEntry * os;    if (flags & POPT_BADOPTION_NOALIAS)	os = con->optionStack;    else	os = con->os;    return os->argv[os->next - 1];}#define POPT_ERROR_NOARG	-10#define POPT_ERROR_BADOPT	-11#define POPT_ERROR_OPTSTOODEEP	-13#define POPT_ERROR_BADQUOTE	-15	/* only from poptParseArgString() */#define POPT_ERROR_ERRNO	-16	/* only from poptParseArgString() */const char *const poptStrerror(const int error) {    switch (error) {      case POPT_ERROR_NOARG:	return POPT_("missing argument");      case POPT_ERROR_BADOPT:	return POPT_("unknown option");      case POPT_ERROR_OPTSTOODEEP:	return POPT_("aliases nested too deeply");      case POPT_ERROR_BADQUOTE:	return POPT_("error in paramter quoting");      case POPT_ERROR_BADNUMBER:	return POPT_("invalid numeric value");      case POPT_ERROR_OVERFLOW:	return POPT_("number too large or too small");      case POPT_ERROR_ERRNO:	return strerror(errno);      default:	return POPT_("unknown error");    }}int poptStuffArgs(poptContext con, const char ** argv) {    int argc;    if ((con->os - con->optionStack) == POPT_OPTION_DEPTH)	return POPT_ERROR_OPTSTOODEEP;    for (argc = 0; argv[argc]; argc++)	;    con->os++;    con->os->next = 0;    con->os->nextArg = NULL;    con->os->nextCharArg = NULL;    con->os->currAlias = NULL;    poptDupArgv(argc, argv, &con->os->argc, &con->os->argv);    con->os->argb = NULL;    con->os->stuffed = 1;    return 0;}const char * poptGetInvocationName(poptContext con) {    return con->os->argv[0];}int poptStrippedArgv(poptContext con, int argc, char **argv){    int i,j=1, numargs=argc;        for(i=1; i<argc; i++) {	if(PBM_ISSET(i, con->arg_strip)) {	    numargs--;	}    }        for(i=1; i<argc; i++) {	if(PBM_ISSET(i, con->arg_strip)) {	    continue;	} else {	    if(j<numargs) {		argv[j++]=argv[i];	    } else {		argv[j++]='\0';	    }	}    }        return(numargs);}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲尤物视频在线| 亚洲一二三区在线观看| 91在线观看一区二区| 亚洲另类中文字| 日韩美女视频一区二区在线观看| av午夜一区麻豆| 狂野欧美性猛交blacked| 国产精品久久一级| 2欧美一区二区三区在线观看视频| 欧美性受xxxx黑人xyx| 从欧美一区二区三区| 奇米色一区二区| 一区二区三区四区不卡在线| 国产性色一区二区| 日韩一区二区在线播放| 在线看国产日韩| gogogo免费视频观看亚洲一| 男男成人高潮片免费网站| 亚洲国产精品久久人人爱蜜臀| 中文字幕不卡三区| www国产精品av| 欧美mv日韩mv国产网站| 91精品啪在线观看国产60岁| 在线观看欧美日本| 91丝袜美腿高跟国产极品老师 | 国产亚洲福利社区一区| 91精品福利在线一区二区三区 | 国产日韩欧美制服另类| 日韩一区二区免费电影| 欧美剧情片在线观看| 欧美在线观看视频在线| 欧美午夜精品一区| 欧美专区亚洲专区| 91精彩视频在线| 日本高清不卡视频| 91啪九色porn原创视频在线观看| 成人黄色小视频在线观看| 国产成人福利片| 懂色中文一区二区在线播放| 国产乱人伦偷精品视频不卡| 国产中文字幕精品| 激情另类小说区图片区视频区| 久久国产精品99久久人人澡| 久久机这里只有精品| 国产又黄又大久久| 高清av一区二区| 成人黄色软件下载| 色8久久人人97超碰香蕉987| 欧美色视频在线观看| 欧美精品高清视频| 日韩欧美高清dvd碟片| 亚洲品质自拍视频网站| 亚洲精品乱码久久久久久久久 | 成人午夜视频在线| 99久久国产综合精品麻豆| 91久久精品一区二区三区| 欧美综合久久久| 欧美一区二区三区免费大片| 亚洲精品在线观| 国产精品国产a| 亚洲成人av在线电影| 日韩av电影天堂| 国产电影一区在线| 色综合久久66| 日韩一区二区三| 欧美激情一区二区三区不卡| 亚洲精品国产一区二区三区四区在线| 午夜一区二区三区视频| 久久成人精品无人区| gogo大胆日本视频一区| 欧美丰满少妇xxxbbb| 国产午夜精品福利| 亚洲国产精品尤物yw在线观看| 精品在线免费观看| 9人人澡人人爽人人精品| 欧美亚洲动漫另类| 欧美成人国产一区二区| 亚洲视频一区在线| 老司机精品视频线观看86| 风间由美一区二区av101| 在线视频一区二区免费| 精品国产123| 一区二区三区四区高清精品免费观看 | 国产成人av一区二区三区在线 | 国产九色精品成人porny| 色哟哟一区二区在线观看| 欧美一二三在线| 亚洲色图第一区| 另类小说综合欧美亚洲| 色欧美88888久久久久久影院| 91精品国产综合久久久久久久久久 | **性色生活片久久毛片| 三级久久三级久久| eeuss鲁片一区二区三区| 欧美一区二区三区免费大片| 亚洲欧美电影院| 久久av资源站| 欧美色国产精品| 国产精品乱人伦| 久久aⅴ国产欧美74aaa| 日本道在线观看一区二区| 久久久久青草大香线综合精品| 香蕉乱码成人久久天堂爱免费| 成人av小说网| 久久影院电视剧免费观看| 亚洲成人先锋电影| 972aa.com艺术欧美| 久久久久国产精品人| 日本不卡视频在线| 日本道色综合久久| 国产精品毛片高清在线完整版| 久久99精品久久久久婷婷| 欧美性欧美巨大黑白大战| 亚洲婷婷综合色高清在线| 国产精品1024| 精品sm捆绑视频| 男女激情视频一区| 91精品国产色综合久久ai换脸| 一区二区三区日本| 成人黄色一级视频| 国产欧美日韩在线视频| 国产在线不卡视频| 日韩欧美一区中文| 亚洲一级二级三级在线免费观看| 色综合久久中文字幕| 亚洲日本在线看| www.亚洲国产| 1024精品合集| 99在线精品视频| 国产精品少妇自拍| 成人免费高清在线| 国产精品午夜在线观看| 国产成人综合视频| 国产拍欧美日韩视频二区| 国产福利精品导航| 亚洲国产成人私人影院tom| 国产剧情在线观看一区二区 | 亚洲一区二区三区国产| 在线观看一区不卡| 亚洲国产成人av好男人在线观看| 欧美三区在线观看| 午夜视频在线观看一区二区| 欧美日韩亚洲国产综合| 日本少妇一区二区| 欧美va亚洲va在线观看蝴蝶网| 精品一区二区在线免费观看| 久久人人爽人人爽| 国产成人av电影在线| 亚洲视频一区二区免费在线观看| 91国产丝袜在线播放| 亚洲高清在线精品| 日韩一区二区电影在线| 极品少妇xxxx精品少妇| 国产日韩欧美一区二区三区乱码| 成人免费av在线| 一区二区三区在线观看国产| 欧美日韩国产在线观看| 蜜乳av一区二区三区| 久久久亚洲高清| 色综合久久久久综合| 日本sm残虐另类| 久久久无码精品亚洲日韩按摩| 99久久综合99久久综合网站| 一区二区三区成人| 91精品在线麻豆| 国产成人aaa| 亚洲二区视频在线| 久久亚洲一级片| 91首页免费视频| 蜜桃视频第一区免费观看| 国产欧美视频一区二区| 欧美日韩一区二区在线观看| 精品亚洲国内自在自线福利| 亚洲国产成人私人影院tom| 欧美亚洲国产一区在线观看网站 | 成人在线视频一区| 亚洲自拍另类综合| 久久综合精品国产一区二区三区 | 欧美日韩视频在线观看一区二区三区 | 国产精品1024久久| 亚洲一区二区欧美| 国产日韩精品一区二区三区在线| 色欧美片视频在线观看在线视频| 精品一区二区久久久| 亚洲欧美国产毛片在线| 日韩欧美电影一区| 色婷婷综合在线| 国产激情偷乱视频一区二区三区| 一区二区高清视频在线观看| 精品99999| 欧美久久婷婷综合色| 成人av在线资源| 韩国毛片一区二区三区| 一区二区在线观看视频在线观看| 久久色在线观看| 欧美日韩精品一区二区三区蜜桃| 国产成人激情av| 蜜桃一区二区三区在线| 一片黄亚洲嫩模| 国产精品每日更新|