cpiSetNameFromBuffer
This function sets the name attribute of the target syntax element using the data supplied in the buffer pointed to by the name parameter. The size of the name is specified using the length parameter.
Syntax
void cpiSetNameFromBuffer(
int* returnCode,
CciElement* targetElement,
const CciChar* name,
CciSize length);
Parameters
- returnCode
- Receives the return code from the function (output). Possible return codes are:
- CCI_SUCCESS
- CCI_EXCEPTION
- CCI_INV_ELEMENT_OBJECT
- CCI_INV_DATA_POINTER
- CCI_INV_DATA_BUFLEN
- targetElement
- Specifies the address of the target syntax element object (input).
- name
- The address of a buffer containing the name (input).
- length
- The length of the character string, expressed as the number of
CciChar
characters, specified by the name parameter.
Return values
None. If an error occurs, returnCode indicates the reason for the error.
Sample
/* Convert the attribute value into integration node form */
data = CciNString((char *)startMarker, markedSize, pc->iCcsid);
/* Create a new name-value element for the attribute */
newElement = cpiCreateElement(&rc, parser);
cpiSetElementType(&rc, newElement, CCI_ELEMENT_TYPE_NAME_VALUE);
cpiSetNameFromBuffer(&rc, newElement, data, length);
if (pc->trace) {
const char * mbData = mbString(data, pc->iCcsid);
fprintf(pc->tracefile, "PLUGIN: Created new NAMEVALUE element;
object=0x%x type=0x%x name=",
newElement, CCI_ELEMENT_TYPE_NAME_VALUE);
fprintf(pc->tracefile, "%s\n", mbData);
fflush(pc->tracefile);
free((void *)mbData);
}
/* Free the memory created in CciNString() */
free((void *)data);
/* Add the element */
cpiAddAsLastChild(&rc, element, newElement);