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

randombit / botan / 5230455705

10 Jun 2023 02:30PM UTC coverage: 91.715% (-0.03%) from 91.746%
5230455705

push

github

randombit
Merge GH #3584 Change clang-format AllowShortFunctionsOnASingleLine config from All to Inline

77182 of 84154 relevant lines covered (91.72%)

11975295.43 hits per line

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

52.94
/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
   }
30
}
4✔
31

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

39
/*
40
* DataSink_Stream Constructor
41
*/
42
DataSink_Stream::DataSink_Stream(std::ostream& out, std::string_view name) : m_identifier(name), m_sink(out) {}
4✔
43

44
#if defined(BOTAN_TARGET_OS_HAS_FILESYSTEM)
45

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

59
DataSink_Stream::~DataSink_Stream() = default;
4✔
60

61
}  // namespace Botan
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

© 2026 Coveralls, Inc