- int i;
-
- /* Perform transformations on `blank' case. */
- for (i = 0; i < f_trns; )
- {
- int code;
-
- code = t_trns[i].proc (t_trns[i].private, c, inp->case_nr);
- switch (code)
- {
- case TRNS_CONTINUE:
- i++;
- break;
-
- case TRNS_DROP_CASE:
- break;
-
- case TRNS_ERROR:
- return false;
-
- case TRNS_NEXT_CASE:
- goto next_case;
-
- case TRNS_END_FILE:
- return true;
-
- default:
- i = code;
- break;
- }
- }
- next_case: ;
+ enum trns_result result = trns_chain_execute (inp->trns_chain, c,
+ &inp->case_nr);
+ if (result == TRNS_ERROR)
+ return false;
+ else if (result == TRNS_END_FILE)
+ return true;