Skip to content

Commit b52169a

Browse files
authored
Merge pull request #790 from lygstate/c-literal-more
More C String literal improve
2 parents fbf3ee0 + ddba719 commit b52169a

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/c/CGenerator.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2412,7 +2412,14 @@ private CharSequence generateLiteral(final PrimitiveType type, final String valu
24122412
case INT32:
24132413
{
24142414
final long intValue = Long.parseLong(value);
2415-
literal = "INT32_C(" + Integer.toString((int)intValue) + ")";
2415+
if (intValue == Integer.MIN_VALUE)
2416+
{
2417+
literal = "INT32_MIN";
2418+
}
2419+
else
2420+
{
2421+
literal = "INT32_C(" + Long.toString(intValue) + ")";
2422+
}
24162423
break;
24172424
}
24182425

@@ -2423,7 +2430,7 @@ private CharSequence generateLiteral(final PrimitiveType type, final String valu
24232430
case INT64:
24242431
{
24252432
final long longValue = Long.parseLong(value);
2426-
if (longValue == -9223372036854775808L)
2433+
if (longValue == Long.MIN_VALUE)
24272434
{
24282435
literal = "INT64_MIN";
24292436
}

0 commit comments

Comments
 (0)