Esta función obtiene un solo byte del almacenamiento intermedio que contiene la representación de corriente de bits del mensaje de entrada, para el objeto de analizador especificado. El valor del argumento de índice indica qué byte de la matriz de bytes se debe devolver.
CciByte cpiBufferByte(
int* returnCode,
CciParser* parser,
CciSize index);
Se devuelve el byte solicitado. Si se produce un error, returnCode indica la razón del error.
Este ejemplo se ha tomado del archivo de analizador de ejemplo BipSampPluginParser.c:
void advance(
PARSER_CONTEXT_ST* context,
CciParser* parser
){
int rc = 0;
/* Avanzar al siguiente carácter */
context->iIndex++;
/* Detectar y manejar la condición de fin */
if (context->iIndex == context->iSize) return;
/* Obtener el siguiente carácter del almacenamiento intermedio */
context->iCurrentCharacter = cpiBufferByte(&rc, parser, context->iIndex);
}