
done:
        if (error) result = TCL_ERROR;
        else {
                char *action;

                if (match) action = p->action;
                else if (eof) action = eof_action;
                else action = timeout_action;

                if (action) result = Tcl_Eval(interp,action,0,(char **) NULL);
                else result = TCL_OK;

                Tcl_SetVar(interp,"expect_match",buf,0);
        }

        free((char *)pairs);

        return(result);
}

Listing 9

