• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

randombit / botan / 5079590438

25 May 2023 12:28PM UTC coverage: 92.228% (+0.5%) from 91.723%
5079590438

Pull #3502

github

Pull Request #3502: Apply clang-format to the codebase

75589 of 81959 relevant lines covered (92.23%)

12139530.51 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

46.67
/src/lib/filters/data_snk.cpp
1
/*
2
* DataSink
3
* (C) 1999-2007 Jack Lloyd
4
*     2005 Matthew Gregan
5
*     2017 Philippe Lieser
6
*
7
* Botan is released under the Simplified BSD License (see license.txt)
8
*/
9

10
#include <botan/data_snk.h>
11

12
#include <botan/exceptn.h>
13
#include <botan/internal/fmt.h>
14
#include <ostream>
15

16
#if defined(BOTAN_TARGET_OS_HAS_FILESYSTEM)
17
   #include <fstream>
18
#endif
19

20
namespace Botan {
21

22
/*
23
* Write to a stream
24
*/
25
void DataSink_Stream::write(const uint8_t out[], size_t length) {
4✔
26
   m_sink.write(cast_uint8_ptr_to_char(out), length);
4✔
27
   if(!m_sink.good())
4✔
28
      throw Stream_IO_Error("DataSink_Stream: Failure writing to " + m_identifier);
×
29
}
4✔
30

31
/*
32
* Flush the stream
33
*/
34
void DataSink_Stream::end_msg() { m_sink.flush(); }
4✔
35

36
/*
37
* DataSink_Stream Constructor
38
*/
39
DataSink_Stream::DataSink_Stream(std::ostream& out, std::string_view name) : m_identifier(name), m_sink(out) {}
4✔
40

41
#if defined(BOTAN_TARGET_OS_HAS_FILESYSTEM)
42

43
/*
44
* DataSink_Stream Constructor
45
*/
46
DataSink_Stream::DataSink_Stream(std::string_view path, bool use_binary) :
×
47
      m_identifier(path),
×
48
      m_sink_memory(std::make_unique<std::ofstream>(std::string(path), use_binary ? std::ios::binary : std::ios::out)),
×
49
      m_sink(*m_sink_memory) {
×
50
   if(!m_sink.good()) {
×
51
      throw Stream_IO_Error(fmt("DataSink_Stream: Failure opening path '{}'", path));
×
52
   }
53
}
×
54
#endif
55

56
DataSink_Stream::~DataSink_Stream() = default;
4✔
57

58
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc