cpiSetNameFromBuffer

Finalidad

Establece el atributo de nombre del elemento de sintaxis de destino utilizando los datos proporcionados en el almacenamiento intermedio al que apunta el parámetro name. El tamaño del nombre se especifica utilizando el parámetro length.

Sintaxis

void cpiSetNameFromBuffer(
  int*            returnCode,
  CciElement*     targetElement,
  const CciChar*  name,
  CciSize         length);

Parámetros

returnCode
Recibe el código de retorno de la función (salida).
Los códigos de retorno posibles son:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
  • CCI_INV_DATA_POINTER
  • CCI_INV_DATA_BUFLEN
targetElement
Especifica la dirección del objeto de elemento de sintaxis de destino (entrada).
name
Dirección de un almacenamiento intermedio que contiene el nombre (entrada).
length
Longitud de la serie de caracteres, expresada como el número de caracteres CciChar, especificada por el parámetro "name".

Valores de retorno

Ninguno. Si se produce un error, returnCode indica la razón del mismo.

Ejemplo

/* Convertir el valor de atributo a formato de intermediario */
          data = CciNString((char *)startMarker, markedSize, pc->iCcsid);

/* Crear un elemento de nombre-valor nuevo para el atributo */
          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);
          }
          /* Liberar la memoria creada en CciNString() */
          free((void *)data);

          /* Añadir el elemento */
          cpiAddAsLastChild(&rc, element, newElement);
Conceptos relacionados
Analizadores definidos por el usuario
Extensiones definidas por el usuario
Tareas relacionadas
Creación de un analizador en C
Referencia relacionada
Funciones de programa de utilidad de analizador en C
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
as08540_