コード例 #1
0
ファイル: frm_def.c プロジェクト: cyrilmagsuci/freebsd
NCURSES_SP_NAME(new_form) (NCURSES_SP_DCLx FIELD **fields)
{
    int err = E_SYSTEM_ERROR;
    FORM *form = (FORM *)0;

    T((T_CALLED("new_form(%p,%p)"), (void *)SP_PARM, (void *)fields));

    if (IsValidScreen(SP_PARM))
    {
        form = typeMalloc(FORM, 1);

        if (form)
        {
            T((T_CREATE("form %p"), (void *)form));
            *form = *_nc_Default_Form;
            /* This ensures win and sub are always non-null,
               so we can derive always the SCREEN that this form is
               running on. */
            form->win = StdScreen(SP_PARM);
            form->sub = StdScreen(SP_PARM);
            if ((err = Associate_Fields(form, fields)) != E_OK)
            {
                free_form(form);
                form = (FORM *)0;
            }
        }
    }

    if (!form)
        SET_ERROR(err);

    returnForm(form);
}
コード例 #2
0
ファイル: lib_driver.c プロジェクト: 2015520/SequoiaDB
NCURSES_SP_NAME(doupdate) (SCREEN *sp)
{
    int code = ERR;

    T((T_CALLED("doupdate(%p)"), (void *) sp));

    if (IsValidScreen(sp))
	code = CallDriver(sp, update);

    returnCode(code);
}