+ case '%': {
+ for(parm = mysep(&argv[next], " "); /* parm = first param */
+ parm; /* While param is not null */
+ parm = mysep(&argv[next], " ") /* parm = next param */
+ )
+ {
+ switch (parm[0]) {
+ case '%': {
+ ctype = 1;
+ break;
+ }
+ case '~': {
+ ctype = 2;
+ break;
+ }
+ default: {
+ break;
+ }
+ }
+ if (ctype == 1) {
+ if (bcheck == 0) {
+ /* strip % char off start of very first ban */
+ if (strlen(parm) > 1) {
+ strncat(banlist, strtok(parm, "%"), sizeof(banlist) - 1 - strlen(banlist));
+ strncat(banlist, " ", sizeof(banlist) - 1 - strlen(banlist));
+ }
+ bcheck = 1;
+ } else {
+ strncat(banlist, parm, sizeof(banlist) - 1 - strlen(banlist));
+ strncat(banlist, " ", sizeof(banlist) - 1 - strlen(banlist));
+ }
+ } else if (ctype == 2) {
+ if (echeck == 0) {
+ echeck = 1;
+ } else {
+ strncat(exemptlist, parm, sizeof(exemptlist) - 1 - strlen(exemptlist));
+ strncat(exemptlist, " ", sizeof(exemptlist) - 1 - strlen(exemptlist));
+ }
+ }
+ }
+ next++;
+ break;