/* **************************************************************************** * * paOptionsNoOf - */ int paOptionsNoOf(PaiArgument* paList) { int ix = 0; int opts = 0; if (paList == NULL) { return paBuiltinNoOf(); } PA_M(("Counting args")); while (paList[ix].type != PaLastArg) { PA_M(("arg %d: '%s'", ix, paList[ix].option)); if (paList[ix].removed != true) { ++opts; } ++ix; PA_M(("%d args so far", opts)); } return opts + paBuiltinNoOf(); }
/* **************************************************************************** * * paIxLookup - */ PaiArgument* paIxLookup(PaiArgument* paList, int ix) { int builtins = paBuiltinNoOf(); if (ix < builtins) { return &paBuiltin[ix]; } else if (ix < paOptionsNoOf(paList)) { return &paList[ix - builtins]; } return NULL; }