| 90 | } |
| 91 | |
| 92 | static void invokeCallbacksPOST(poptContext con, const struct poptOption * opt) |
| 93 | { |
| 94 | if (opt != NULL) |
| 95 | for (; opt->longName || opt->shortName || opt->arg; opt++) { |
| 96 | poptArg arg = { .ptr = opt->arg }; |
| 97 | if (arg.ptr) |
| 98 | switch (poptArgType(opt)) { |
| 99 | case POPT_ARG_INCLUDE_TABLE: /* Recurse on included sub-tables. */ |
| 100 | poptSubstituteHelpI18N(arg.opt); /* XXX side effects */ |
| 101 | invokeCallbacksPOST(con, arg.opt); |
| 102 | break; |
| 103 | case POPT_ARG_CALLBACK: /* Perform callback. */ |
| 104 | if (!CBF_ISSET(opt, POST)) |
| 105 | break; |
| 106 | arg.cb(con, POPT_CALLBACK_REASON_POST, NULL, NULL, opt->descrip); |
| 107 | break; |
| 108 | } |
| 109 | } |
| 110 | } |
| 111 | |
| 112 | static void invokeCallbacksOPTION(poptContext con, |
| 113 | const struct poptOption * opt, |