Beispiel #1
0
void FDSymbolizePrinter::doPrint(StringPiece sp) {
  if (buffer_) {
    if (sp.size() > buffer_->tailroom()) {
      flush();
      writeFull(fd_, sp.data(), sp.size());
    } else {
      memcpy(buffer_->writableTail(), sp.data(), sp.size());
      buffer_->append(sp.size());
    }
  } else {
    writeFull(fd_, sp.data(), sp.size());
  }
}
Beispiel #2
0
void
CollectionScanner::ScanningState::setLastDirectory( const QString &dir )
{
    if( dir == m_lastDirectory )
        return;

    m_lastDirectory = dir;
    writeFull();
}
Beispiel #3
0
void
CollectionScanner::ScanningState::setBadFiles( const QStringList &badFiles )
{
    if( badFiles == m_badFiles )
        return;

    m_badFiles = badFiles;
    writeFull();
}
Beispiel #4
0
void
CollectionScanner::ScanningState::setDirectories( const QStringList &directories )
{
    if( directories == m_directories )
        return;

    m_directories = directories;
    writeFull();
}
Beispiel #5
0
void printHex(uint64_t val) {
  // TODO(tudorb): Add this to folly/Conv.h
  char buf[2 + 2 * sizeof(uint64_t)];  // "0x" prefix, 2 digits for each byte

  char* end = buf + sizeof(buf);
  char* p = end;
  do {
    *--p = kHexChars[val & 0x0f];
    val >>= 4;
  } while (val != 0);
  *--p = 'x';
  *--p = '0';

  writeFull(STDERR_FILENO, p, end - p);
}
Beispiel #6
0
void assertionFailure(const char* expr, const char* msg, const char* file,
                      unsigned int line, const char* function) {
  writeStderr("\n\nAssertion failure: ");
  writeStderr(expr);
  writeStderr("\nMessage: ");
  writeStderr(msg);
  writeStderr("\nFile: ");
  writeStderr(file);
  writeStderr("\nLine: ");
  char buf[20];
  uint32_t n = uint64ToBufferUnsafe(line, buf);
  writeFull(STDERR_FILENO, buf, n);
  writeStderr("\nFunction: ");
  writeStderr(function);
  writeStderr("\n");
  fsyncNoInt(STDERR_FILENO);
  abort();
}
Beispiel #7
0
void PcapFile::writeGlobalHeader() {
  struct GlobalHeader {
    uint32_t magic;
    uint16_t versionMajor;
    uint16_t versionMinor;
    uint32_t tzOffset;
    uint32_t sigfigs;
    uint32_t snaplen;
    uint32_t linkType;
  } hdr;
  hdr.magic = 0xa1b2c3d4;
  hdr.versionMajor = 2;
  hdr.versionMinor = 4;
  hdr.tzOffset = 0;
  hdr.sigfigs = 0;
  hdr.snaplen = 0xffff;
  // Link type 1 is ethernet.  Other possible types we might want to use
  // include 113 for linux "cooked" capture format.
  hdr.linkType = 1;

  int ret = writeFull(file_.fd(), &hdr, sizeof(hdr));
  folly::checkUnixError(ret, "error writing pcap global header");
}
Beispiel #8
0
void print(StringPiece sp) {
  writeFull(STDERR_FILENO, sp.data(), sp.size());
}
Beispiel #9
0
void FDSymbolizePrinter::flush() {
  if (buffer_ && !buffer_->empty()) {
    writeFull(fd_, buffer_->data(), buffer_->length());
    buffer_->clear();
  }
}
Beispiel #10
0
void FDSymbolizePrinter::doPrint(StringPiece sp) {
  writeFull(fd_, sp.data(), sp.size());
}