diff options
| author | André Nusser <andre.nusser@googlemail.com> | 2016-03-23 15:07:17 +0100 | 
|---|---|---|
| committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2016-03-29 22:43:30 +0200 | 
| commit | eaf8c01ac99f9561870528ff608a073166be2163 (patch) | |
| tree | 53232e8997cbb471dd2d4de2f7dfe3c8fc1c408c /src | |
| parent | 31ac3fd56ce77cfb2e9caddd0bdac0614971d98b (diff) | |
Fix horribly stupid bug.
Diffstat (limited to 'src')
| -rw-r--r-- | src/drumkitparser.cc | 4 | ||||
| -rw-r--r-- | src/instrumentparser.cc | 11 | ||||
| -rw-r--r-- | src/midimapparser.cc | 5 | 
3 files changed, 17 insertions, 3 deletions
| diff --git a/src/drumkitparser.cc b/src/drumkitparser.cc index 8746ae0..b3f3b99 100644 --- a/src/drumkitparser.cc +++ b/src/drumkitparser.cc @@ -242,5 +242,9 @@ int DrumKitParser::readData(std::string& data, std::size_t size)  		return -1;  	} +	data.resize(size); +	auto nr_of_bytes_read = fread((void*)data.data(), 1, size, fd); +	data.resize(nr_of_bytes_read); +	return nr_of_bytes_read;  	return fread((char*)data.c_str(), 1, size, fd);  } diff --git a/src/instrumentparser.cc b/src/instrumentparser.cc index 3ebc585..eed179d 100644 --- a/src/instrumentparser.cc +++ b/src/instrumentparser.cc @@ -236,6 +236,13 @@ void InstrumentParser::endTag(const std::string& name)  int InstrumentParser::readData(std::string& data, std::size_t size)  { -	if(!fd) return -1; -	return fread((char*)data.c_str(), 1, size, fd); +	if(!fd) +	{ +		return -1; +	} +	 +	data.resize(size); +	auto nr_of_bytes_read = fread((void*)data.data(), 1, size, fd); +	data.resize(nr_of_bytes_read); +	return nr_of_bytes_read;  } diff --git a/src/midimapparser.cc b/src/midimapparser.cc index 3c0e82b..2d4563a 100644 --- a/src/midimapparser.cc +++ b/src/midimapparser.cc @@ -57,5 +57,8 @@ int MidiMapParser::readData(std::string& data, std::size_t size)  		return -1;  	} -	return fread((char*)data.c_str(), 1, size, fd); +	data.resize(size); +	auto nr_of_bytes_read = fread((void*)data.data(), 1, size, fd); +	data.resize(nr_of_bytes_read); +	return nr_of_bytes_read;  } | 
