Skip to content

Commit d5fec16

Browse files
committed
Use IntPtr.Add.
1 parent 674f1c0 commit d5fec16

File tree

1 file changed

+4
-9
lines changed

1 file changed

+4
-9
lines changed

src/FirebirdSql.Data.FirebirdClient/Client/Native/Marshalers/XsqldaMarshaler.cs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public static void CleanUpNativeData(ref IntPtr pNativeData)
3838

3939
for (var i = 0; i < xsqlda.sqln; i++)
4040
{
41-
var ptr = GetIntPtr(pNativeData, ComputeLength(i));
41+
var ptr = IntPtr.Add(pNativeData, ComputeLength(i));
4242

4343
var sqlvar = new XSQLVAR();
4444
MarshalXSQLVARNativeToManaged(ptr, sqlvar, true);
@@ -126,7 +126,7 @@ public static IntPtr MarshalManagedToNative(XSQLDA xsqlda, XSQLVAR[] xsqlvar)
126126
for (var i = 0; i < xsqlvar.Length; i++)
127127
{
128128
var offset = ComputeLength(i);
129-
Marshal.StructureToPtr(xsqlvar[i], GetIntPtr(ptr, offset), true);
129+
Marshal.StructureToPtr(xsqlvar[i], IntPtr.Add(ptr, offset), true);
130130
}
131131

132132
return ptr;
@@ -146,7 +146,7 @@ public static Descriptor MarshalNativeToManaged(Charset charset, IntPtr pNativeD
146146
var xsqlvar = new XSQLVAR();
147147
for (var i = 0; i < xsqlda.sqln; i++)
148148
{
149-
var ptr = GetIntPtr(pNativeData, ComputeLength(i));
149+
var ptr = IntPtr.Add(pNativeData, ComputeLength(i));
150150
MarshalXSQLVARNativeToManaged(ptr, xsqlvar);
151151

152152
descriptor[i].DataType = xsqlvar.sqltype;
@@ -199,11 +199,6 @@ private static void MarshalXSQLVARNativeToManaged(IntPtr ptr, XSQLVAR xsqlvar, b
199199
}
200200
}
201201

202-
private static IntPtr GetIntPtr(IntPtr ptr, int offset)
203-
{
204-
return new IntPtr(ptr.ToInt64() + offset);
205-
}
206-
207202
private static int ComputeLength(int n)
208203
{
209204
var length = (SizeOfXSQLDA + n * SizeOfXSQLVAR);
@@ -227,7 +222,7 @@ private static byte[] GetBytes(XSQLVAR xsqlvar)
227222
case IscCodes.SQL_VARYING:
228223
{
229224
var buffer = new byte[Marshal.ReadInt16(xsqlvar.sqldata)];
230-
var tmp = GetIntPtr(xsqlvar.sqldata, 2);
225+
var tmp = IntPtr.Add(xsqlvar.sqldata, 2);
231226
Marshal.Copy(tmp, buffer, 0, buffer.Length);
232227
return buffer;
233228
}

0 commit comments

Comments
 (0)