@@ -43,17 +43,14 @@ typedef std::auto_ptr<CharReader> CharReaderPtr;
4343// ////////////////////////////////
4444
4545Features::Features ()
46- : allowComments_(true ), strictRoot_(false ),
47- allowDroppedNullPlaceholders_ (false ), allowNumericKeys_(false ) {}
48-
46+ : allowComments_(true ), strictRoot_(false )
47+ {}
4948Features Features::all () { return Features (); }
5049
5150Features Features::strictMode () {
5251 Features features;
5352 features.allowComments_ = false ;
5453 features.strictRoot_ = true ;
55- features.allowDroppedNullPlaceholders_ = false ;
56- features.allowNumericKeys_ = false ;
5754 return features;
5855}
5956
@@ -191,17 +188,7 @@ bool Reader::readValue() {
191188 currentValue ().swapPayload (v);
192189 }
193190 break ;
194- case tokenArraySeparator:
195- case tokenObjectEnd:
196- case tokenArrayEnd:
197- if (features_.allowDroppedNullPlaceholders_ ) {
198- // "Un-read" the current token and mark the current value as a null
199- // token.
200- current_--;
201- Value v;
202- currentValue ().swapPayload (v);
203- break ;
204- } // Else, fall through...
191+ // Else, fall through...
205192 default :
206193 return addError (" Syntax error: value, object or array expected." , token);
207194 }
@@ -447,11 +434,6 @@ bool Reader::readObject(Token& /*tokenStart*/) {
447434 if (tokenName.type_ == tokenString) {
448435 if (!decodeString (tokenName, name))
449436 return recoverFromError (tokenObjectEnd);
450- } else if (tokenName.type_ == tokenNumber && features_.allowNumericKeys_ ) {
451- Value numberName;
452- if (!decodeNumber (tokenName, numberName))
453- return recoverFromError (tokenObjectEnd);
454- name = numberName.asString ();
455437 } else {
456438 break ;
457439 }
0 commit comments