--- old/src/share/vm/services/diagnosticFramework.cpp 2012-02-13 22:46:56.000000000 +0100 +++ new/src/share/vm/services/diagnosticFramework.cpp 2012-02-13 22:46:55.000000000 +0100 @@ -61,7 +61,7 @@ bool DCmdArgIter::next(TRAPS) { if (_len == 0) return false; // skipping spaces - while (_cursor < _len - 1 && isspace(_buffer[_cursor])) { + while (_cursor < _len - 1 && _buffer[_cursor] == _delim) { _cursor++; } // handling end of command line @@ -73,8 +73,14 @@ _value_len = 0; return false; } + + if (_buffer[_cursor] == _delim) { + _cursor++; + } + // extracting first item, argument or option name _key_addr = &_buffer[_cursor]; + while (_cursor <= _len - 1 && _buffer[_cursor] != '=' && _buffer[_cursor] != _delim) { // argument can be surrounded by single or double quotes if (_buffer[_cursor] == '\"' || _buffer[_cursor] == '\'') {