mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 03:10:05 +00:00 
			
		
		
		
	Message data vector buffer should resize instead of reserve, preserving data on growth
This commit is contained in:
		
							parent
							
								
									f0386cda27
								
							
						
					
					
						commit
						d648c1db08
					
				
					 1 changed files with 2 additions and 2 deletions
				
			
		|  | @ -78,7 +78,7 @@ MessageInfo MessageFactory::Create(std::istream& is) | ||||||
|          if (segment == 1) |          if (segment == 1) | ||||||
|          { |          { | ||||||
|             // Estimate total message size
 |             // Estimate total message size
 | ||||||
|             messageData_.reserve(dataSize * totalSegments); |             messageData_.resize(dataSize * totalSegments); | ||||||
|             messageBufferStream_.clear(); |             messageBufferStream_.clear(); | ||||||
|             bufferedSize_ = 0; |             bufferedSize_ = 0; | ||||||
|          } |          } | ||||||
|  | @ -93,7 +93,7 @@ MessageInfo MessageFactory::Create(std::istream& is) | ||||||
|                std::max<uint16_t>(totalSegments - segment + 1, 100u); |                std::max<uint16_t>(totalSegments - segment + 1, 100u); | ||||||
|             size_t remainingSize = remainingSegments * dataSize; |             size_t remainingSize = remainingSegments * dataSize; | ||||||
| 
 | 
 | ||||||
|             messageData_.reserve(bufferedSize_ + remainingSize); |             messageData_.resize(bufferedSize_ + remainingSize); | ||||||
|          } |          } | ||||||
| 
 | 
 | ||||||
|          is.read(messageData_.data() + bufferedSize_, dataSize); |          is.read(messageData_.data() + bufferedSize_, dataSize); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat