mirror of
https://github.com/cc65/cc65.git
synced 2024-11-18 15:05:14 +00:00
Bug: Char arrays with a specified size could not be initialized with literal
strings that had the same length as the char array (in this case the zero terminator must be omitted by the compiler). git-svn-id: svn://svn.cc65.org/cc65/trunk@2230 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
a01d673415
commit
cc9263d413
@ -1155,6 +1155,18 @@ static unsigned ParseArrayInit (type* T, int AllowFlexibleMembers)
|
||||
|
||||
/* Translate into target charset */
|
||||
TranslateLiteralPool (CurTok.IVal);
|
||||
|
||||
/* If the array is one too small for the string literal, omit the
|
||||
* trailing zero.
|
||||
*/
|
||||
if (ElementCount != UNSPECIFIED &&
|
||||
ElementCount != FLEXIBLE &&
|
||||
Count == ElementCount + 1) {
|
||||
/* Omit the trailing zero */
|
||||
--Count;
|
||||
}
|
||||
|
||||
/* Output the data */
|
||||
g_defbytes (Str, Count);
|
||||
|
||||
/* Remove string from pool */
|
||||
|
Loading…
Reference in New Issue
Block a user