/// Emit bitcode for abbreviation for source locations. static void addSourceLocationAbbrev(std::shared_ptr<llvm::BitCodeAbbrev> Abbrev) { using namespace llvm; Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 10)); // File ID. Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 32)); // Line. Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 32)); // Column. Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 32)); // Offset; }
void TransparentTransmissionBuffer::InsertTransmissionPeriod_(std::shared_ptr<ByteBuffer> pBuffer) { // All . which are placed as the first character on a new // line should be replaced with .. // Allocate maximum required length for the out buffer. char *pInBuffer = (char*) pBuffer->GetCharBuffer(); char *pOutBuffer = new char[pBuffer->GetSize() * 2]; char *pOutBufferStart = pOutBuffer; int iInBufferSize = pBuffer->GetSize(); for (int i = 0; i < iInBufferSize; i++) { char c = pInBuffer[i]; if (c == '.') { if (i == 0) { *pOutBuffer = '.'; pOutBuffer++; } else if (i > 2 && pInBuffer[i-1] == '\n') { *pOutBuffer = '.'; pOutBuffer++; } } // Add the character *pOutBuffer = c; pOutBuffer++; } // Clear the buffer and insert the new data int iOutBufferLen = pOutBuffer - pOutBufferStart; pBuffer->Empty(); pBuffer->Add((BYTE*) pOutBufferStart, iOutBufferLen); // Free memory for the old buffer delete [] pOutBufferStart; }
void RecipientParser::AddRecipient_(std::shared_ptr<MessageRecipients> pRecipients, std::shared_ptr<MessageRecipient> pRecipient) { String address = pRecipient->GetAddress().ToLower(); if (address.IsEmpty()) return; std::vector<std::shared_ptr<MessageRecipient> > vecResult = pRecipients->GetVector(); auto iterRecip = vecResult.begin(); while (iterRecip != vecResult.end()) { if ((*iterRecip)->GetAddress().ToLower() == address) return; iterRecip++; } pRecipients->Add(pRecipient); }
void TransparentTransmissionBuffer::RemoveTransmissionPeriod_(std::shared_ptr<ByteBuffer> pBuffer) { // Allocate maximum required length for the out buffer. char *pInBuffer = (char*) pBuffer->GetCharBuffer(); char *pOutBuffer = new char[pBuffer->GetSize()]; char *pOutBufferStart = pOutBuffer; int iInBufferSize = pBuffer->GetSize(); for (int i = 0; i < iInBufferSize; i++) { char c = pInBuffer[i]; if (c == '.') { if (i == 0) continue; else if (i > 2 && pInBuffer[i-1] == '\n') continue; } // Add the character to the out buffer *pOutBuffer = c; pOutBuffer++; } // Clear the buffer and insert the new data int iOutBufferLen = pOutBuffer - pOutBufferStart; pBuffer->Empty(); pBuffer->Add((BYTE*) pOutBufferStart, iOutBufferLen); // Free memory for the old buffer delete [] pOutBufferStart; }
void Add(Disposable d) const { state->Add(std::move(d)); }
static void AbbrevGen(std::shared_ptr<llvm::BitCodeAbbrev> &Abbrev, const std::initializer_list<llvm::BitCodeAbbrevOp> Ops) { for (const auto &Op : Ops) Abbrev->Add(Op); }