Fboolev, Fboolev32, Fvboolev, Fvboolev32(3fml)
Fboolev(), Fboolev32(), Fvboolev(), Fvboolev32() - evaluate buffer against tree
Fboolev(FBFR *fbfr, char *tree)
Fvboolev(char *cstruct, char *tree, char *viewname)
Fboolev32(FBFR32 *fbfr, char *tree)
Fvboolev32(char *cstruct, char *tree, char *viewname)
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.
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.
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 view file.
While trying to find viewname, malloc() failed while allocating space to hold the view information.
Using the evaluation tree compiled in the example for Fboolco():
if(Fboolev(fbfr,tree) > 0)
fprintf(stderr,"Buffer not selected\\\\n");
would print Buffer selected.
Introduction to FML Functions, Fboolco, Fboolco32, Fvboolco, Fvboolco32(3fml), Fboolpr, Fboolpr32, Fvboolpr, Fvboolpr32(3fml)
Copyright © 2000 BEA Systems, Inc. All rights reserved.