// static int32_t CBC_OnedCode128Writer::Encode128C(const ByteString& contents, std::vector<int32_t>* patterns) { int32_t checkWeight = 1; patterns->push_back(CODE_START_C); int32_t checkSum = CODE_START_C * checkWeight; size_t position = 0; while (position < contents.GetLength()) { int32_t patternIndex; char ch = contents[position]; if (std::isdigit(ch)) { patternIndex = FXSYS_atoi( contents.Mid(position, contents.IsValidIndex(position + 1) ? 2 : 1) .c_str()); ++position; if (position < contents.GetLength() && std::isdigit(contents[position])) ++position; } else { patternIndex = static_cast<int32_t>(ch); ++position; } patterns->push_back(patternIndex); checkSum += patternIndex * checkWeight++; } return checkSum; }
// static int32_t CBC_OnedCode128Writer::Encode128B(const ByteString& contents, std::vector<int32_t>* patterns) { int32_t checkWeight = 1; patterns->push_back(CODE_START_B); int32_t checkSum = CODE_START_B * checkWeight; for (size_t position = 0; position < contents.GetLength(); position++) { int32_t patternIndex = contents[position] - ' '; patterns->push_back(patternIndex); checkSum += patternIndex * checkWeight++; } return checkSum; }
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAction_GetFilePath(FPDF_ACTION pDict, void* buffer, unsigned long buflen) { unsigned long type = FPDFAction_GetType(pDict); if (type != PDFACTION_REMOTEGOTO && type != PDFACTION_LAUNCH) return 0; CPDF_Action action(CPDFDictionaryFromFPDFAction(pDict)); ByteString path = action.GetFilePath().ToUTF8(); unsigned long len = path.GetLength() + 1; if (buffer && len <= buflen) memcpy(buffer, path.c_str(), len); return len; }
CBC_EncoderContext::CBC_EncoderContext(const WideString& msg) { ByteString dststr = msg.ToUTF8(); size_t c = dststr.GetLength(); WideString sb; sb.Reserve(c); for (size_t i = 0; i < c; i++) { wchar_t ch = static_cast<wchar_t>(dststr[i] & 0xff); if (ch == '?' && dststr[i] != '?') { m_bHasCharactersOutsideISO88591Encoding = true; } sb += ch; } m_msg = std::move(sb); m_codewords.Reserve(m_msg.GetLength()); }
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAction_GetURIPath(FPDF_DOCUMENT document, FPDF_ACTION pDict, void* buffer, unsigned long buflen) { CPDF_Document* pDoc = CPDFDocumentFromFPDFDocument(document); if (!pDoc) return 0; unsigned long type = FPDFAction_GetType(pDict); if (type != PDFACTION_URI) return 0; CPDF_Action action(CPDFDictionaryFromFPDFAction(pDict)); ByteString path = action.GetURI(pDoc); unsigned long len = path.GetLength() + 1; if (buffer && len <= buflen) memcpy(buffer, path.c_str(), len); return len; }