BEA Logo BEA Tuxedo Release 7.1

  Corporate Info  |  News  |  Solutions  |  Products  |  Partners  |  Services  |  Events  |  Download  |  How To Buy

 

   Tuxedo Doc Home   |   Reference   |   Topic List   |   Previous   |   Next   |   Contents

   BEA Tuxedo FML Function Reference

Fdelete, Fdelete32(3fml)

Name

Fdelete(), Fdelete32() - delete list of fields from buffer

Synopsis

#include <stdio.h>  
#include "fml.h"
int
Fdelete(FBFR *fbfr, FLDID *fieldid)
#include "fml32.h"
int
Fdelete32(FBFR32 *fbfr, FLDID32 *fieldid)

Description

Fdelete() deletes all occurrences of all fields listed in the array of field identifiers, fieldid[]. The last entry in the array must be BADFLDID. fbfr is a pointer to a fielded buffer. fieldid is a pointer to an array of field identifiers. This is a more efficient way of deleting several fields from a buffer instead of using several Fdelall() calls. The update is done in-place. The array of field identifiers may be re-arranged by Fdelete() (they are sorted, if not already, in numeric order).

For values of type FLD_PTR, Fdelete32() deletes the FLD_PTR field occurrence without changing the referenced buffer or freeing the pointer. The data buffer is treated as an opaque pointer.

Fdelete() returns success even if no fields are deleted from the fielded buffer.

Fdelete32() is used with 32-bit FML.

A thread in a multithreaded application may issue a call to Fdelete() or Fdelete32() while running in any context state, including TPINVALIDCONTEXT.

Return Values

This function returns -1 on error and sets Ferror to indicate the error condition.

Errors

Under the following conditions, Fdelete() fails and sets Ferror to:

[FALIGNERR]

"fielded buffer not aligned"
The buffer does not begin on the proper boundary.

[FNOTFLD]

"buffer not fielded"
The buffer is not a fielded buffer or has not been initialized by Finit().

[FBADFLD]

"unknown field number or type"
A field identifier is specified which is not valid.

See Also

Introduction to FML Functions, Fdel, Fdel32(3fml), Fdelall, Fdelall32(3fml)