mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	Change string formatting check to assertion.
This commit is contained in:
		
							parent
							
								
									301215f186
								
							
						
					
					
						commit
						460861922e
					
				| @ -179,11 +179,10 @@ bool dev::isValidDecimal(string const& _string) | |||||||
| 	return true; | 	return true; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Returns a quoted string if all characters are printable ASCII chars,
 | string dev::formatAsStringOrNumber(string const& _value) | ||||||
| // or its hex representation otherwise.
 |  | ||||||
| std::string dev::formatAsStringOrNumber(std::string const& _value) |  | ||||||
| { | { | ||||||
| 	if (_value.length() <= 32) | 	assertThrow(_value.length() <= 32, StringTooLong, "String to be formatted longer than 32 bytes."); | ||||||
|  | 
 | ||||||
| 	for (auto const& c: _value) | 	for (auto const& c: _value) | ||||||
| 		if (c <= 0x1f || c >= 0x7f || c == '"') | 		if (c <= 0x1f || c >= 0x7f || c == '"') | ||||||
| 			return "0x" + h256(_value, h256::AlignLeft).hex(); | 			return "0x" + h256(_value, h256::AlignLeft).hex(); | ||||||
|  | |||||||
| @ -356,6 +356,7 @@ bool isValidDecimal(std::string const& _string); | |||||||
| 
 | 
 | ||||||
| /// @returns a quoted string if all characters are printable ASCII chars,
 | /// @returns a quoted string if all characters are printable ASCII chars,
 | ||||||
| /// or its hex representation otherwise.
 | /// or its hex representation otherwise.
 | ||||||
|  | /// _value cannot be longer than 32 bytes.
 | ||||||
| std::string formatAsStringOrNumber(std::string const& _value); | std::string formatAsStringOrNumber(std::string const& _value); | ||||||
| 
 | 
 | ||||||
| template<typename Container, typename Compare> | template<typename Container, typename Compare> | ||||||
|  | |||||||
| @ -49,6 +49,7 @@ DEV_SIMPLE_EXCEPTION(BadHexCharacter); | |||||||
| DEV_SIMPLE_EXCEPTION(BadHexCase); | DEV_SIMPLE_EXCEPTION(BadHexCase); | ||||||
| DEV_SIMPLE_EXCEPTION(FileError); | DEV_SIMPLE_EXCEPTION(FileError); | ||||||
| DEV_SIMPLE_EXCEPTION(DataTooLong); | DEV_SIMPLE_EXCEPTION(DataTooLong); | ||||||
|  | DEV_SIMPLE_EXCEPTION(StringTooLong); | ||||||
| 
 | 
 | ||||||
| // error information to be added to exceptions
 | // error information to be added to exceptions
 | ||||||
| using errinfo_comment = boost::error_info<struct tag_comment, std::string>; | using errinfo_comment = boost::error_info<struct tag_comment, std::string>; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user