Skip to content

Commit 1e312a1

Browse files
Copilotbrianrob
andcommitted
Fix unsigned integer type handling in PayloadFetch constructor
Co-authored-by: brianrob <[email protected]>
1 parent 9741983 commit 1e312a1

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

src/TraceEvent/DynamicTraceEventParser.cs

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1353,7 +1353,6 @@ public PayloadFetch(ushort offset, RegisteredTraceEventParser.TdhInputType inTyp
13531353
Size = 1;
13541354
break;
13551355
case RegisteredTraceEventParser.TdhInputType.Int16:
1356-
case RegisteredTraceEventParser.TdhInputType.UInt16:
13571356
Size = 2;
13581357
if (outType == 1) // Encoding for String
13591358
{
@@ -1362,18 +1361,33 @@ public PayloadFetch(ushort offset, RegisteredTraceEventParser.TdhInputType inTyp
13621361
}
13631362
Type = typeof(short);
13641363
break;
1364+
case RegisteredTraceEventParser.TdhInputType.UInt16:
1365+
Size = 2;
1366+
if (outType == 1) // Encoding for String
1367+
{
1368+
Type = typeof(char);
1369+
break;
1370+
}
1371+
Type = typeof(ushort);
1372+
break;
13651373
case RegisteredTraceEventParser.TdhInputType.Int32:
1366-
case RegisteredTraceEventParser.TdhInputType.UInt32:
13671374
case RegisteredTraceEventParser.TdhInputType.HexInt32:
13681375
Type = typeof(int);
13691376
Size = 4;
13701377
break;
1378+
case RegisteredTraceEventParser.TdhInputType.UInt32:
1379+
Type = typeof(uint);
1380+
Size = 4;
1381+
break;
13711382
case RegisteredTraceEventParser.TdhInputType.Int64:
1372-
case RegisteredTraceEventParser.TdhInputType.UInt64:
13731383
case RegisteredTraceEventParser.TdhInputType.HexInt64:
13741384
Type = typeof(long);
13751385
Size = 8;
13761386
break;
1387+
case RegisteredTraceEventParser.TdhInputType.UInt64:
1388+
Type = typeof(ulong);
1389+
Size = 8;
1390+
break;
13771391
case RegisteredTraceEventParser.TdhInputType.Float:
13781392
Type = typeof(float);
13791393
Size = 4;

0 commit comments

Comments
 (0)