![]() |
![]() |
|
|
Fboolev, Fboolev32, Fvboolev, Fvboolev32(3fml)
Name
Fboolev(), Fboolev32(), Fvboolev(), Fvboolev32() - evaluate buffer against tree
Synopsis
#include stdio.h>
#include "fml.h"
int
Fboolev(FBFR *fbfr, char *tree)
int
Fvboolev(char *cstruct, char *tree, char *viewname)
#include "fml32.h"
int
Fboolev32(FBFR32 *fbfr, char *tree)
int
Fvboolev32(char *cstruct, char *tree, char *viewname)
Description
Fboolev() takes a pointer to a fielded buffer, fbfr, and a pointer to the evaluation tree returned from Fboolco(), tree, and returns true (1) if the fielded buffer matches the specified Boolean conditions and false (0) if it does not. This function does not change either the fielded buffer or evaluation tree. The evaluation tree is one previously compiled by Fboolco().
Fboolev32() is used with 32-bit FML.
Fvboolev() and Fvboolev32() provide the same functionallity for views. The viewname parameter indicates the view from which the field offsets are taken, and should be the same view specified for Fvboolco() or Fvboolco32().
These functions are not supported on Workstation platforms.
A thread in a multithreaded application may issue a call to any of the functions documented here—Fboolev(), Fboolev32(), Fvboolev(), or Fvboolev32()—while running in any context state, including TPINVALIDCONTEXT.
Return Values
Fboolev() returns 1 if the expression in the buffer matches the evaluation tree. It returns 0 if the expression fails to match the evaluation tree. This function returns -1 on error and sets Ferror to indicate the error condition.
Errors
Under the following conditions, Fboolev() fails and sets Ferror to:
The fbfr buffer does not begin on the proper boundary.
The fbfr buffer is not a fielded buffer or has not been initialized by Finit().
Allocation of space dynamically using malloc() failed.
One of the arguments to the function invoked was invalid, (for example, specifying a NULL tree parameter).
A syntax error was found in a Boolean expression other than an unrecognized field name.
viewname was not found in the files specified by VIEWDIR or VIEWFILES.
While trying to find viewname, the program failed to find one of the files specified by VIEWDIR or VIEWFILES.
While trying to find viewname, the program failed to open one of the files specified by VIEWDIR or VIEWFILES for reading.
While trying to find viewname, one of the files specified by VIEWDIR or VIEWFILES was corrupted or not a viewfile.
While trying to find viewname, malloc() failed while allocating space to hold the view information.
Example
Using the evaluation tree compiled in the example for Fboolco():
#include stdio.h>
#include "fml.h"
#include "fld.tbl.h"
FBFR *fbfr;
...
Fchg(fbfr,FIRSTNAME,0,"John",0);
Fchg(fbfr,SEX,0,"M",0);
if(Fboolev(fbfr,tree) > 0)
fprintf(stderr,"Buffer selected\\\\n");
else
fprintf(stderr,"Buffer not selected\\\\n");
would print Buffer selected.
See Also
Introduction to FML Functions, Fboolco, Fboolco32, Fvboolco, Fvboolco32(3fml), Fboolpr, Fboolpr32, Fvboolpr, Fvboolpr32(3fml)
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|