Esta função obtém um único byte do buffer contendo a representação de fluxo de bits da mensagem de entrada, para o objeto analisador especificado. O valor do argumento index indica qual byte na matriz de bytes deve ser retornado.
CciByte cpiBufferByte(
int* returnCode,
CciParser* parser,
CciSize index);
O byte pedido é retornado. Se ocorrer um erro, returnCode indicará o motivo do erro.
Este exemplo é obtido do arquivo analisador de amostra BipSampPluginParser.c:
void advance(
PARSER_CONTEXT_ST* context,
CciParser* parser
){
int rc = 0;
/* Avançar para o próximo caractere */
context->iIndex++;
/* Detectar e manipular a condição de final */
if (context->iIndex == context->iSize) return;
/* Obter o próximo caractere do buffer */
context->iCurrentCharacter = cpiBufferByte(&rc, parser,
context->iIndex);
}