Skip to content

Commit a2ab84a

Browse files
committed
mdb_cursor_put params should be refs?
1 parent 4855a07 commit a2ab84a

File tree

4 files changed

+12
-12
lines changed

4 files changed

+12
-12
lines changed

src/LightningDB/INativeLibraryFacade.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -477,7 +477,7 @@ interface INativeLibraryFacade
477477
/// EACCES - an attempt was made to modify a read-only database.
478478
/// EINVAL - an invalid parameter was specified.
479479
/// </returns>
480-
int mdb_cursor_put(IntPtr cursor, ValueStructure key, ValueStructure data, PutOptions flags); //OK
480+
int mdb_cursor_put(IntPtr cursor, ref ValueStructure key, ref ValueStructure data, PutOptions flags); //OK
481481

482482
/// <summary>
483483
/// Delete current key/data pair.

src/LightningDB/LightningCursor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ public void Put(byte[] key, byte[] value, PutOptions options)
179179
var keyStruct = keyMarshalStruct.ValueStructure;
180180
var valueStruct = valueMarshalStruct.ValueStructure;
181181

182-
Native.Execute(lib => lib.mdb_cursor_put(_handle, keyStruct, valueStruct, options));
182+
Native.Execute(lib => lib.mdb_cursor_put(_handle, ref keyStruct, ref valueStruct, options));
183183
}
184184
}
185185

src/LightningDB/NativeLibraryFacades.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ class Native32BitLibraryFacade : INativeLibraryFacade
103103
private static extern int mdb_cursor_get(IntPtr cursor, ref ValueStructure key, ref ValueStructure data, CursorOperation op);
104104

105105
[DllImport(LibraryName, CallingConvention = CallingConvention.Cdecl)]
106-
private static extern int mdb_cursor_put(IntPtr cursor, ValueStructure key, ValueStructure data, PutOptions flags);
106+
private static extern int mdb_cursor_put(IntPtr cursor, ref ValueStructure key, ref ValueStructure data, PutOptions flags);
107107

108108
[DllImport(LibraryName, CallingConvention = CallingConvention.Cdecl)]
109109
private static extern int mdb_cursor_del(IntPtr cursor, CursorDeleteOption flags);
@@ -263,9 +263,9 @@ int INativeLibraryFacade.mdb_cursor_get(IntPtr cursor, ref ValueStructure key, r
263263
return Native32BitLibraryFacade.mdb_cursor_get(cursor, ref key, ref data, op);
264264
}
265265

266-
int INativeLibraryFacade.mdb_cursor_put(IntPtr cursor, ValueStructure key, ValueStructure data, PutOptions flags)
266+
int INativeLibraryFacade.mdb_cursor_put(IntPtr cursor, ref ValueStructure key, ref ValueStructure data, PutOptions flags)
267267
{
268-
return Native32BitLibraryFacade.mdb_cursor_put(cursor, key, data, flags);
268+
return Native32BitLibraryFacade.mdb_cursor_put(cursor, ref key, ref data, flags);
269269
}
270270

271271
int INativeLibraryFacade.mdb_cursor_del(IntPtr cursor, CursorDeleteOption flags)
@@ -366,7 +366,7 @@ class Native64BitLibraryFacade : INativeLibraryFacade
366366
private static extern int mdb_cursor_get(IntPtr cursor, ref ValueStructure key, ref ValueStructure data, CursorOperation op);
367367

368368
[DllImport(LibraryName, CallingConvention = CallingConvention.Cdecl)]
369-
private static extern int mdb_cursor_put(IntPtr cursor, ValueStructure key, ValueStructure data, PutOptions flags);
369+
private static extern int mdb_cursor_put(IntPtr cursor, ref ValueStructure key, ref ValueStructure data, PutOptions flags);
370370

371371
[DllImport(LibraryName, CallingConvention = CallingConvention.Cdecl)]
372372
private static extern int mdb_cursor_del(IntPtr cursor, CursorDeleteOption flags);
@@ -515,9 +515,9 @@ int INativeLibraryFacade.mdb_cursor_get(IntPtr cursor, ref ValueStructure key, r
515515
return Native64BitLibraryFacade.mdb_cursor_get(cursor, ref key, ref data, op);
516516
}
517517

518-
int INativeLibraryFacade.mdb_cursor_put(IntPtr cursor, ValueStructure key, ValueStructure data, PutOptions flags)
518+
int INativeLibraryFacade.mdb_cursor_put(IntPtr cursor, ref ValueStructure key, ref ValueStructure data, PutOptions flags)
519519
{
520-
return Native64BitLibraryFacade.mdb_cursor_put(cursor, key, data, flags);
520+
return Native64BitLibraryFacade.mdb_cursor_put(cursor, ref key, ref data, flags);
521521
}
522522

523523
int INativeLibraryFacade.mdb_cursor_del(IntPtr cursor, CursorDeleteOption flags)
@@ -618,7 +618,7 @@ class FallbackLibraryFacade : INativeLibraryFacade
618618
private static extern int mdb_cursor_get(IntPtr cursor, ref ValueStructure key, ref ValueStructure data, CursorOperation op);
619619

620620
[DllImport(LibraryName, CallingConvention = CallingConvention.Cdecl)]
621-
private static extern int mdb_cursor_put(IntPtr cursor, ValueStructure key, ValueStructure data, PutOptions flags);
621+
private static extern int mdb_cursor_put(IntPtr cursor, ref ValueStructure key, ref ValueStructure data, PutOptions flags);
622622

623623
[DllImport(LibraryName, CallingConvention = CallingConvention.Cdecl)]
624624
private static extern int mdb_cursor_del(IntPtr cursor, CursorDeleteOption flags);
@@ -778,9 +778,9 @@ int INativeLibraryFacade.mdb_cursor_get(IntPtr cursor, ref ValueStructure key, r
778778
return FallbackLibraryFacade.mdb_cursor_get(cursor, ref key, ref data, op);
779779
}
780780

781-
int INativeLibraryFacade.mdb_cursor_put(IntPtr cursor, ValueStructure key, ValueStructure data, PutOptions flags)
781+
int INativeLibraryFacade.mdb_cursor_put(IntPtr cursor, ref ValueStructure key, ref ValueStructure data, PutOptions flags)
782782
{
783-
return FallbackLibraryFacade.mdb_cursor_put(cursor, key, data, flags);
783+
return FallbackLibraryFacade.mdb_cursor_put(cursor, ref key, ref data, flags);
784784
}
785785

786786
int INativeLibraryFacade.mdb_cursor_del(IntPtr cursor, CursorDeleteOption flags)

src/LightningDB/NativeLibraryFacades.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ namespace LightningDB
113113
private static extern int mdb_cursor_get(IntPtr cursor, ref ValueStructure key, ref ValueStructure data, CursorOperation op);
114114

115115
[DllImport(LibraryName, CallingConvention = CallingConvention.Cdecl)]
116-
private static extern int mdb_cursor_put(IntPtr cursor, ValueStructure key, ValueStructure data, PutOptions flags);
116+
private static extern int mdb_cursor_put(IntPtr cursor, ref ValueStructure key, ref ValueStructure data, PutOptions flags);
117117

118118
[DllImport(LibraryName, CallingConvention = CallingConvention.Cdecl)]
119119
private static extern int mdb_cursor_del(IntPtr cursor, CursorDeleteOption flags);

0 commit comments

Comments
 (0)