summaryrefslogtreecommitdiff
path: root/src/BencodeParser.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2015-12-27 18:39:47 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2015-12-27 18:40:08 +0900
commitb1132d6b10cd3791b9529d7031d723fd0e2d8215 (patch)
tree9ce465b42bf09372118335c7c619bb2b41869eaf /src/BencodeParser.cc
parent4abad2f64c9ff80144a61c5a9c2bea144852b883 (diff)
make clang-format using clang-format-3.6
Diffstat (limited to 'src/BencodeParser.cc')
-rw-r--r--src/BencodeParser.cc101
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()
{