diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2015-12-27 18:39:47 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2015-12-27 18:40:08 +0900 |
| commit | b1132d6b10cd3791b9529d7031d723fd0e2d8215 (patch) | |
| tree | 9ce465b42bf09372118335c7c619bb2b41869eaf /src/BencodeParser.cc | |
| parent | 4abad2f64c9ff80144a61c5a9c2bea144852b883 (diff) | |
make clang-format using clang-format-3.6
Diffstat (limited to 'src/BencodeParser.cc')
| -rw-r--r-- | src/BencodeParser.cc | 101 |
1 files changed, 51 insertions, 50 deletions
diff --git a/src/BencodeParser.cc b/src/BencodeParser.cc index 84d94322..f5423072 100644 --- a/src/BencodeParser.cc +++ b/src/BencodeParser.cc @@ -60,53 +60,54 @@ enum { } // namespace BencodeParser::BencodeParser(StructParserStateMachine* psm) - : psm_(psm), - currentState_(BENCODE_INITIAL), - strLength_(0), - numberSign_(1), - number_(0), - numConsumed_(0), - lastError_(0) + : psm_(psm), + currentState_(BENCODE_INITIAL), + strLength_(0), + numberSign_(1), + number_(0), + numConsumed_(0), + lastError_(0) { stateStack_.push(BENCODE_FINISH); } -BencodeParser::~BencodeParser() -{} +BencodeParser::~BencodeParser() {} ssize_t BencodeParser::parseUpdate(const char* data, size_t size) { size_t i; - if(currentState_ == BENCODE_FINISH) { + if (currentState_ == BENCODE_FINISH) { return 0; - } else if(currentState_ == BENCODE_ERROR) { + } + else if (currentState_ == BENCODE_ERROR) { return lastError_; } - for(i = 0; i < size && currentState_ != BENCODE_FINISH; ++i) { + for (i = 0; i < size && currentState_ != BENCODE_FINISH; ++i) { char c = data[i]; - switch(currentState_) { + switch (currentState_) { case BENCODE_LIST: - if(c == 'e') { + if (c == 'e') { onListEnd(); break; - } else { + } + else { int rv = pushState(currentState_); - if(rv < 0) { + if (rv < 0) { return rv; } currentState_ = BENCODE_VALUE; runBeginCallback(STRUCT_ARRAY_DATA_T); } - // Fall through + // Fall through case BENCODE_INITIAL: case BENCODE_VALUE: - switch(c) { + switch (c) { case 'd': { currentState_ = BENCODE_DICT_KEY; runBeginCallback(STRUCT_DICT_T); break; } - case'l': + case 'l': currentState_ = BENCODE_LIST; runBeginCallback(STRUCT_ARRAY_T); break; @@ -118,25 +119,26 @@ ssize_t BencodeParser::parseUpdate(const char* data, size_t size) runBeginCallback(STRUCT_NUMBER_T); break; default: - if(util::isDigit(c)) { + if (util::isDigit(c)) { strLength_ = c - '0'; numConsumed_ = 1; currentState_ = BENCODE_STRING_LEN; runBeginCallback(STRUCT_STRING_T); break; - } else { + } + else { currentState_ = BENCODE_ERROR; return lastError_ = ERR_UNEXPECTED_CHAR_BEFORE_VAL; } } break; case BENCODE_DICT_KEY: { - if(c == 'e') { + if (c == 'e') { onDictEnd(); break; } int rv = pushState(currentState_); - if(rv < 0) { + if (rv < 0) { return rv; } strLength_ = 0; @@ -147,8 +149,8 @@ ssize_t BencodeParser::parseUpdate(const char* data, size_t size) } case BENCODE_STRING_LEN: { size_t j; - for(j = i; j < size && in(data[j], '0', '9'); ++j) { - if((INT64_MAX - (data[j] - '0'))/ 10 < strLength_) { + for (j = i; j < size && in(data[j], '0', '9'); ++j) { + if ((INT64_MAX - (data[j] - '0')) / 10 < strLength_) { currentState_ = BENCODE_ERROR; return lastError_ = ERR_STRING_LENGTH_OUT_OF_RANGE; } @@ -156,18 +158,19 @@ ssize_t BencodeParser::parseUpdate(const char* data, size_t size) strLength_ += data[j] - '0'; } numConsumed_ += j - i; - if(j != size) { - if(data[j] != ':' || numConsumed_ == 0) { + if (j != size) { + if (data[j] != ':' || numConsumed_ == 0) { currentState_ = BENCODE_ERROR; return lastError_ = ERR_INVALID_STRING_LENGTH; } i = j; currentState_ = BENCODE_STRING; - if(strLength_ == 0) { + if (strLength_ == 0) { runCharactersCallback(nullptr, 0); onStringEnd(); } - } else { + } + else { i = j - 1; } break; @@ -177,13 +180,13 @@ ssize_t BencodeParser::parseUpdate(const char* data, size_t size) runCharactersCallback(&data[i], nread); strLength_ -= nread; i += nread - 1; - if(strLength_ == 0) { + if (strLength_ == 0) { onStringEnd(); } break; } case BENCODE_NUMBER_SIGN: { - switch(c) { + switch (c) { case '+': numberSign_ = 1; currentState_ = BENCODE_NUMBER; @@ -193,7 +196,7 @@ ssize_t BencodeParser::parseUpdate(const char* data, size_t size) currentState_ = BENCODE_NUMBER; break; default: - if(util::isDigit(c)) { + if (util::isDigit(c)) { number_ = c - '0'; numConsumed_ = 1; currentState_ = BENCODE_NUMBER; @@ -203,8 +206,8 @@ ssize_t BencodeParser::parseUpdate(const char* data, size_t size) } case BENCODE_NUMBER: { size_t j; - for(j = i; j < size && in(data[j], '0', '9'); ++j) { - if((INT64_MAX - (data[j] - '0'))/ 10 < number_) { + for (j = i; j < size && in(data[j], '0', '9'); ++j) { + if ((INT64_MAX - (data[j] - '0')) / 10 < number_) { currentState_ = BENCODE_ERROR; return lastError_ = ERR_NUMBER_OUT_OF_RANGE; } @@ -212,14 +215,15 @@ ssize_t BencodeParser::parseUpdate(const char* data, size_t size) number_ += data[j] - '0'; } numConsumed_ += j - i; - if(j != size) { - if(data[j] != 'e' || numConsumed_ == 0) { + if (j != size) { + if (data[j] != 'e' || numConsumed_ == 0) { currentState_ = BENCODE_ERROR; return lastError_ = ERR_INVALID_NUMBER; } i = j; onNumberEnd(); - } else { + } + else { i = j - 1; } break; @@ -233,9 +237,8 @@ ssize_t BencodeParser::parseFinal(const char* data, size_t len) { ssize_t rv; rv = parseUpdate(data, len); - if(rv >= 0) { - if(currentState_ != BENCODE_FINISH && - currentState_ != BENCODE_INITIAL) { + if (rv >= 0) { + if (currentState_ != BENCODE_FINISH && currentState_ != BENCODE_INITIAL) { rv = ERR_PREMATURE_DATA; } } @@ -247,7 +250,7 @@ void BencodeParser::reset() psm_->reset(); currentState_ = BENCODE_INITIAL; lastError_ = 0; - while(!stateStack_.empty()) { + while (!stateStack_.empty()) { stateStack_.pop(); } stateStack_.push(BENCODE_FINISH); @@ -255,8 +258,8 @@ void BencodeParser::reset() void BencodeParser::onStringEnd() { - runEndCallback(stateTop() == BENCODE_DICT_KEY ? - STRUCT_DICT_KEY_T : STRUCT_STRING_T); + runEndCallback(stateTop() == BENCODE_DICT_KEY ? STRUCT_DICT_KEY_T + : STRUCT_STRING_T); onValueEnd(); } @@ -281,7 +284,7 @@ void BencodeParser::onListEnd() void BencodeParser::onValueEnd() { - switch(stateTop()) { + switch (stateTop()) { case BENCODE_DICT_KEY: popState(); pushState(BENCODE_DICT_VAL); @@ -307,18 +310,16 @@ void BencodeParser::onValueEnd() int BencodeParser::pushState(int state) { - if(stateStack_.size() >= 50) { + if (stateStack_.size() >= 50) { return ERR_STRUCTURE_TOO_DEEP; - } else { + } + else { stateStack_.push(state); return 0; } } -int BencodeParser::stateTop() const -{ - return stateStack_.top(); -} +int BencodeParser::stateTop() const { return stateStack_.top(); } int BencodeParser::popState() { |
