_CP_key

_CP_key is equivalent to the key(string1, expression, string2, string3) BASIC statement.

Syntax

int _CP_key(CPSTR* string1, int expression, CPSTR** string2, CPSTR** string3,
int* value)

Description

An additional parameter, value, is available from C that returns the current value of the key if it is MultiValued. This function returns -1 if an error occurs. The error code is contained in _CP_errno. If the key operator is invalid, _CP_errno will contain PE_ILL_KEY. If the root pointer is invalid, _CP_errno will contain PE_NOTROOT.

Example(s)

/* Gets the first item-ID which contains "a" as attribute 1. */
 
CPSTR * n = _CP_mkstr("myfile");
CPSTR * a = _CP_mkstr("a1");
CPSTR * op = _CP_mkstr("n");
CPSTR * k = _CP_mkstr("a");
CPSTR * i = _CP_str_null;
int r,dummy;
 
_CP_root(n,a,&r);
_CP_key(op,r,&k,&i,&dummy);