[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
_itemFreeC()
Frees a character string allocated by the Item API
------------------------------------------------------------------------------
C Prototype
#include "item.api"
BOOL _itemFreeC(
BYTEP fpItemVal
)
Arguments
fpItemVal is a pointer returned by the Item API in response to an
_itemGetC() call.
Returns
True if the requested pointer was released.
Description
When _itemGetC() is asked to provide a character string from a character
item, it allocates memory for the string from one of several places.
You need to call the _itemFreeC() function to release the memory once
the string is no longer necessary.
Warning! Do not call _itemFreeC() unless the character string
was retrieved through _itemGetC(). Calling _itemFreeC() with a NULL
pointer, a pointer already freed, or a string not retrieved by
_itemGetC() will result in a VM integrity fault or other internal error.
Examples
/*
*
* CharCount( cString, cChar )
*
* Count occurrences of a single character
* in a CA-Clipper string. Version 1.00
*
*/
CLIPPER CharCount( void )
{
USHORT uiChars = 0;
USHORT uiLen;
USHORT i;
HANDLE vmhString;
BYTEP cStringP;
BYTE cFindMe;
ITEM itmString, itmFindMe, itmRet;
if (PCOUNT != 2)
{
_ret(); // NOTE: Withhold service
return; // Early return!
}
itmRet = _itemPutNL( NULL, 0 );
itmString = _itemParam( 1 );
itmFindMe = _itemParam( 2 );
if ( (_itemType( itmString ) == CHARACTER) &&
(_itemType( itmFindMe ) == CHARACTER) )
{
_itemCopyC( itmFindMe, &cFindMe, 1 );
vmhString = _xvalloc( _itemSize( itmString ), NULL );
cStringP = _xvlock( vmhString );
uiLen = _itemCopyC( itmString, cStringP, NULL );
for( i = 0; i < uiLen; i++ )
{
if ( cStringP[i] == cFindMe )
uiChars++;
}
_xvunlock( vmhString );
_xvfree( vmhString );
itmRet = _itemPutNL( itmRet, (long)uiChars );
}
_itemReturn( itmRet );
_itemRelease( itmRet );
_itemRelease( itmString );
_itemRelease( itmFindMe );
return;
}
Files Library is CLIPPER.LIB, header file is Item.api.
See Also:
_itemGetC()
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson