static xmlSecBase64Status xmlSecBase64CtxEncodeByte(xmlSecBase64CtxPtr ctx, xmlSecByte inByte, xmlSecByte* outByte) { xmlSecAssert2(ctx != NULL, xmlSecBase64StatusFailed); xmlSecAssert2(outByte != NULL, xmlSecBase64StatusFailed); if((ctx->columns > 0) && (ctx->linePos >= ctx->columns)) { (*outByte) = '\n'; ctx->linePos = 0; return(xmlSecBase64StatusConsumeAndRepeat); } else if(ctx->inPos == 0) { /* we just started new block */ (*outByte) = base64[xmlSecBase64Encode1(inByte)]; ctx->inByte = inByte; ++ctx->linePos; ++ctx->inPos; return(xmlSecBase64StatusConsumeAndNext); } else if(ctx->inPos == 1) { (*outByte) = base64[xmlSecBase64Encode2(ctx->inByte, inByte)]; ctx->inByte = inByte; ++ctx->linePos; ++ctx->inPos; return(xmlSecBase64StatusConsumeAndNext); } else if(ctx->inPos == 2) { (*outByte) = base64[xmlSecBase64Encode3(ctx->inByte, inByte)]; ctx->inByte = inByte; ++ctx->linePos; ++ctx->inPos; return(xmlSecBase64StatusConsumeAndRepeat); } else if(ctx->inPos == 3) { (*outByte) = base64[xmlSecBase64Encode4(ctx->inByte)]; ++ctx->linePos; ctx->inByte = 0; ctx->inPos = 0; return(xmlSecBase64StatusConsumeAndNext); } xmlSecErr_a_ignorar6(XMLSEC_ERRORS_HERE, NULL, NULL, XMLSEC_ERRORS_R_INVALID_DATA, "ctx->inPos=%d", ctx->inPos); return(xmlSecBase64StatusFailed); }
static xmlSecBase64Status xmlSecBase64CtxEncodeByte(xmlSecBase64CtxPtr ctx, xmlSecByte inByte, xmlSecByte* outByte) { xmlSecAssert2(ctx != NULL, xmlSecBase64StatusFailed); xmlSecAssert2(outByte != NULL, xmlSecBase64StatusFailed); if((ctx->columns > 0) && (ctx->linePos >= ctx->columns)) { (*outByte) = '\n'; ctx->linePos = 0; return(xmlSecBase64StatusConsumeAndRepeat); } else if(ctx->inPos == 0) { /* we just started new block */ (*outByte) = base64[xmlSecBase64Encode1(inByte)]; ctx->inByte = inByte; ++ctx->linePos; ++ctx->inPos; return(xmlSecBase64StatusConsumeAndNext); } else if(ctx->inPos == 1) { (*outByte) = base64[xmlSecBase64Encode2(ctx->inByte, inByte)]; ctx->inByte = inByte; ++ctx->linePos; ++ctx->inPos; return(xmlSecBase64StatusConsumeAndNext); } else if(ctx->inPos == 2) { (*outByte) = base64[xmlSecBase64Encode3(ctx->inByte, inByte)]; ctx->inByte = inByte; ++ctx->linePos; ++ctx->inPos; return(xmlSecBase64StatusConsumeAndRepeat); } else if(ctx->inPos == 3) { (*outByte) = base64[xmlSecBase64Encode4(ctx->inByte)]; ++ctx->linePos; ctx->inByte = 0; ctx->inPos = 0; return(xmlSecBase64StatusConsumeAndNext); } xmlSecInvalidIntegerDataError("ctx->inPos", ctx->inPos, "0,1,2,3", NULL); return(xmlSecBase64StatusFailed); }