aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--odb/oracle/oracle-types.hxx6
-rw-r--r--odb/oracle/statement.cxx2
-rw-r--r--odb/oracle/traits.hxx6
3 files changed, 8 insertions, 6 deletions
diff --git a/odb/oracle/oracle-types.hxx b/odb/oracle/oracle-types.hxx
index e340071..5864d0a 100644
--- a/odb/oracle/oracle-types.hxx
+++ b/odb/oracle/oracle-types.hxx
@@ -31,8 +31,10 @@ namespace odb
typedef bool (*param_callback_type) (
const void* context, // [in] The user context.
ub4* position_context, // [in] A position context. A callback is free to
- // use this to track position information.
- void** buffer, // [out] On return, a pointer to a buffer
+ // use this to track position information. This is
+ // initialized to zero before the callback is
+ // invoked for the first time.
+ const void** buffer, // [out] On return, a pointer to a buffer
// containing parameter data.
ub4* size, // [out] The parameter data size in bytes.
chunk_position*, // [out] The position of the chunk of data in
diff --git a/odb/oracle/statement.cxx b/odb/oracle/statement.cxx
index 0e7d387..26d2836 100644
--- a/odb/oracle/statement.cxx
+++ b/odb/oracle/statement.cxx
@@ -82,7 +82,7 @@ namespace odb
chunk_position pos;
if (!(*b.callback.param) (&b.callback_context,
reinterpret_cast<ub4*> (b.size),
- buffer,
+ const_cast<const void**> (buffer),
size,
&pos,
b.buffer,
diff --git a/odb/oracle/traits.hxx b/odb/oracle/traits.hxx
index b5dfc80..a8ada63 100644
--- a/odb/oracle/traits.hxx
+++ b/odb/oracle/traits.hxx
@@ -623,7 +623,7 @@ namespace odb
static bool
param_callback (const void* context,
ub4* position_context,
- void** buffer,
+ const void** buffer,
ub4* size,
chunk_position*,
void* temp_buffer,
@@ -669,7 +669,7 @@ namespace odb
static bool
param_callback (const void* context,
ub4* position_context,
- void** buffer,
+ const void** buffer,
ub4* size,
chunk_position*,
void* temp_buffer,
@@ -753,7 +753,7 @@ namespace odb
static bool
param_callback (const void* context,
ub4* position_context,
- void** buffer,
+ const void** buffer,
ub4* size,
chunk_position*,
void* temp_buffer,