MCPcopy Create free account
hub / github.com/apache/brpc / PushChar

Method PushChar

src/butil/binary_printer.cpp:54–79  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

52
53template <typename Appender>
54void BinaryCharPrinter<Appender>::PushChar(unsigned char c) {
55 if (_n > BUF_SIZE - 3) {
56 _appender->Append(_buf, _n);
57 _n = 0;
58 }
59 if (c >= 32 && c <= 126) { // displayable ascii characters
60 if (c != '\\') {
61 _buf[_n++] = c;
62 } else {
63 _buf[_n++] = '\\';
64 _buf[_n++] = '\\';
65 }
66 } else {
67 _buf[_n++] = '\\';
68 switch (c) {
69 case '\b': _buf[_n++] = 'b'; break;
70 case '\t': _buf[_n++] = 't'; break;
71 case '\n': _buf[_n++] = 'n'; break;
72 case '\r': _buf[_n++] = 'r'; break;
73 default:
74 _buf[_n++] = s_binary_char_map[c >> 4];
75 _buf[_n++] = s_binary_char_map[c & 0xF];
76 break;
77 }
78 }
79}
80
81class OStreamAppender {
82public:

Callers 2

PrintIOBufFunction · 0.80
PrintStringFunction · 0.80

Calls 1

AppendMethod · 0.45

Tested by

no test coverage detected