diff options
| author | blymn <blymn@NetBSD.org> | 2001-02-10 14:55:18 +0000 |
|---|---|---|
| committer | blymn <blymn@NetBSD.org> | 2001-02-10 14:55:18 +0000 |
| commit | cf4178992eca06548110f0430caaf9917bafc9a8 (patch) | |
| tree | 7bfbaaacb56006739af04e777b413e30895a18ad /lib/libform | |
| parent | 445edb6de285516a98ecf415c5f7fa2b47970419 (diff) | |
Check NULL0K _before_ PASSOK and clean up the PASSOK logic.
Diffstat (limited to 'lib/libform')
| -rw-r--r-- | lib/libform/internals.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/libform/internals.c b/lib/libform/internals.c index ad6b2b0ca8e..e83d8ed06ac 100644 --- a/lib/libform/internals.c +++ b/lib/libform/internals.c @@ -1,4 +1,4 @@ -/* $NetBSD: internals.c,v 1.10 2001/02/06 00:02:25 blymn Exp $ */ +/* $NetBSD: internals.c,v 1.11 2001/02/10 14:55:18 blymn Exp $ */ /*- * Copyright (c) 1998-1999 Brett Lymn @@ -1483,9 +1483,6 @@ _formi_validate_field(FORM *form) cur = form->fields[form->cur_field]; - if (((cur->opts & O_PASSOK) == O_PASSOK) && (cur->buf0_status == 0)) - return E_OK; - bp = cur->buffers[0].string; count = _formi_skip_blanks(bp, 0); @@ -1499,6 +1496,14 @@ _formi_validate_field(FORM *form) return E_INVALID_FIELD; } + /* check if an unmodified field is ok */ + if (cur->buf0_status == 0) { + if ((cur->opts & O_PASSOK) == O_PASSOK) + return E_OK; + else + return E_INVALID_FIELD; + } + /* if there is no type then just accept the field */ if (cur->type == NULL) return E_OK; |
