diff options
author | Shaun Verch <shaun.verch@10gen.com> | 2012-12-14 15:05:24 -0500 |
---|---|---|
committer | Shaun Verch <shaun.verch@10gen.com> | 2012-12-19 14:39:17 -0500 |
commit | d2adeeb4a74dac9f41280d42635fa60d2d58a864 (patch) | |
tree | 10088f710b0ec353c1c9551d2970d39db350902a /src/mongo/s/type_lockpings.cpp | |
parent | 133677e7186540ac36a3a1502dd46d108bca24ee (diff) | |
download | mongo-d2adeeb4a74dac9f41280d42635fa60d2d58a864.tar.gz |
SERVER-939 Added errMsg to parseBSON in *Type classes
Diffstat (limited to 'src/mongo/s/type_lockpings.cpp')
-rw-r--r-- | src/mongo/s/type_lockpings.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/mongo/s/type_lockpings.cpp b/src/mongo/s/type_lockpings.cpp index 50a59e3086b..97a42af1c29 100644 --- a/src/mongo/s/type_lockpings.cpp +++ b/src/mongo/s/type_lockpings.cpp @@ -62,15 +62,16 @@ namespace mongo { return builder.obj(); } - void LockpingsType::parseBSON(BSONObj source) { + bool LockpingsType::parseBSON(BSONObj source, string* errMsg) { clear(); - bool ok = true; - ok &= FieldParser::extract(source, process, "", &_process); - ok &= FieldParser::extract(source, ping, 0ULL, &_ping); - if (! ok) { - clear(); - } + string dummy; + if (!errMsg) errMsg = &dummy; + + if (!FieldParser::extract(source, process, "", &_process, errMsg)) return false; + if (!FieldParser::extract(source, ping, 0ULL, &_ping, errMsg)) return false; + + return true; } void LockpingsType::clear() { |