Lines Matching refs:opt
64 static void invokeCallbacksPRE(poptContext con, const struct poptOption * opt) in invokeCallbacksPRE() argument
68 if (opt != NULL) in invokeCallbacksPRE()
69 for (; opt->longName || opt->shortName || opt->arg; opt++) { in invokeCallbacksPRE()
70 if (opt->arg == NULL) continue; /* XXX program error. */ in invokeCallbacksPRE()
71 if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INCLUDE_TABLE) { in invokeCallbacksPRE()
72 void * arg = opt->arg; in invokeCallbacksPRE()
79 } else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_CALLBACK && in invokeCallbacksPRE()
80 (opt->argInfo & POPT_CBFLAG_PRE)) in invokeCallbacksPRE()
82 poptCallbackType cb = (poptCallbackType)opt->arg; in invokeCallbacksPRE()
86 cb(con, POPT_CALLBACK_REASON_PRE, NULL, NULL, opt->descrip); in invokeCallbacksPRE()
92 static void invokeCallbacksPOST(poptContext con, const struct poptOption * opt) in invokeCallbacksPOST() argument
96 if (opt != NULL) in invokeCallbacksPOST()
97 for (; opt->longName || opt->shortName || opt->arg; opt++) { in invokeCallbacksPOST()
98 if (opt->arg == NULL) continue; /* XXX program error. */ in invokeCallbacksPOST()
99 if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INCLUDE_TABLE) { in invokeCallbacksPOST()
100 void * arg = opt->arg; in invokeCallbacksPOST()
107 } else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_CALLBACK && in invokeCallbacksPOST()
108 (opt->argInfo & POPT_CBFLAG_POST)) in invokeCallbacksPOST()
110 poptCallbackType cb = (poptCallbackType)opt->arg; in invokeCallbacksPOST()
114 cb(con, POPT_CALLBACK_REASON_POST, NULL, NULL, opt->descrip); in invokeCallbacksPOST()
121 const struct poptOption * opt, in invokeCallbacksOPTION() argument
129 if (opt != NULL) in invokeCallbacksOPTION()
130 for (; opt->longName || opt->shortName || opt->arg; opt++) { in invokeCallbacksOPTION()
131 if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INCLUDE_TABLE) { in invokeCallbacksOPTION()
132 void * arg = opt->arg; in invokeCallbacksOPTION()
138 if (opt->arg != NULL) /* XXX program error */ in invokeCallbacksOPTION()
139 invokeCallbacksOPTION(con, opt->arg, myOpt, myData, shorty); in invokeCallbacksOPTION()
140 } else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_CALLBACK && in invokeCallbacksOPTION()
141 !(opt->argInfo & POPT_CBFLAG_SKIPOPTION)) { in invokeCallbacksOPTION()
143 cbopt = opt; in invokeCallbacksOPTION()
145 ((myOpt->shortName && opt->shortName && shorty && in invokeCallbacksOPTION()
146 myOpt->shortName == opt->shortName) || in invokeCallbacksOPTION()
147 (myOpt->longName && opt->longName && in invokeCallbacksOPTION()
149 !strcmp(myOpt->longName, opt->longName))) in invokeCallbacksOPTION()
472 findOption(const struct poptOption * opt, /*@null@*/ const char * longName, in findOption() argument
485 for (; opt->longName || opt->shortName || opt->arg; opt++) { in findOption()
487 if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INCLUDE_TABLE) { in findOption()
489 void * arg = opt->arg; in findOption()
504 *callbackData = opt->descrip; in findOption()
507 } else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_CALLBACK) { in findOption()
508 cb = opt; in findOption()
509 } else if (longName && opt->longName && in findOption()
510 (!singleDash || (opt->argInfo & POPT_ARGFLAG_ONEDASH)) && in findOption()
512 !strcmp(longName, opt->longName)) in findOption()
516 } else if (shortName && shortName == opt->shortName) { in findOption()
521 if (!opt->longName && !opt->shortName) in findOption()
540 return opt; in findOption()
708 const struct poptOption * opt = NULL; in poptGetNextOpt() local
801 opt = findOption(con->options, optString, '\0', &cb, &cbData, in poptGetNextOpt()
803 if (!opt && !singleDash) in poptGetNextOpt()
807 if (!opt) { in poptGetNextOpt()
811 opt->argInfo & POPT_ARGFLAG_STRIP) in poptGetNextOpt()
838 opt = findOption(con->options, NULL, *origOptString, &cb, in poptGetNextOpt()
840 if (!opt) in poptGetNextOpt()
850 if (opt == NULL) return POPT_ERROR_BADOPT; /* XXX can't happen */ in poptGetNextOpt()
851 if (opt->arg && (opt->argInfo & POPT_ARG_MASK) == POPT_ARG_NONE) { in poptGetNextOpt()
852 if (poptSaveInt((int *)opt->arg, opt->argInfo, 1L)) in poptGetNextOpt()
854 } else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_VAL) { in poptGetNextOpt()
855 if (opt->arg) { in poptGetNextOpt()
856 if (poptSaveInt((int *)opt->arg, opt->argInfo, (long)opt->val)) in poptGetNextOpt()
859 } else if ((opt->argInfo & POPT_ARG_MASK) != POPT_ARG_NONE) { in poptGetNextOpt()
876 if (!(opt->argInfo & POPT_ARGFLAG_OPTIONAL)) in poptGetNextOpt()
888 (opt->argInfo & POPT_ARGFLAG_STRIP) && in poptGetNextOpt()
903 if (opt->arg) { in poptGetNextOpt()
904 switch (opt->argInfo & POPT_ARG_MASK) { in poptGetNextOpt()
907 *((const char **) opt->arg) = (con->os->nextArg) in poptGetNextOpt()
922 if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_LONG) { in poptGetNextOpt()
925 if (poptSaveLong((long *)opt->arg, opt->argInfo, aLong)) in poptGetNextOpt()
930 if (poptSaveInt((int *)opt->arg, opt->argInfo, aLong)) in poptGetNextOpt()
953 if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_DOUBLE) { in poptGetNextOpt()
954 *((double *) opt->arg) = aDouble; in poptGetNextOpt()
961 *((float *) opt->arg) = aDouble; in poptGetNextOpt()
967 (opt->argInfo & POPT_ARG_MASK)); in poptGetNextOpt()
976 invokeCallbacksOPTION(con, con->options, opt, cbData, shorty); in poptGetNextOpt()
978 } else if (opt->val && ((opt->argInfo & POPT_ARG_MASK) != POPT_ARG_VAL)) in poptGetNextOpt()
988 { char *s = malloc((opt->longName ? strlen(opt->longName) : 0) + 3); in poptGetNextOpt()
990 if (opt->longName) in poptGetNextOpt()
992 ((opt->argInfo & POPT_ARGFLAG_ONEDASH) ? "-" : "--"), in poptGetNextOpt()
993 opt->longName); in poptGetNextOpt()
995 sprintf(s, "-%c", opt->shortName); in poptGetNextOpt()
1001 if (opt->arg && (opt->argInfo & POPT_ARG_MASK) == POPT_ARG_NONE) in poptGetNextOpt()
1003 else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_VAL) in poptGetNextOpt()
1005 else if ((opt->argInfo & POPT_ARG_MASK) != POPT_ARG_NONE) { in poptGetNextOpt()
1014 return (opt ? opt->val : -1); /* XXX can't happen */ in poptGetNextOpt()