diff --git a/src/bindings/swig/hammer.i b/src/bindings/swig/hammer.i
index 4f209a839be2f5a718aed84151f4ebb5ff468a62..14100e7f31761115e685d2c541af70ed1da974c5 100644
--- a/src/bindings/swig/hammer.i
+++ b/src/bindings/swig/hammer.i
@@ -5,13 +5,14 @@
 
 #if defined(SWIGPHP)
 %ignore HCountedArray_;
-%typemap(in) (uint8_t* input, size_t len) {
-  $1 = (uint8_t*)$input->value.str.val;
-  $2 = $input->value.str.len;
+%typemap(in) (const uint8_t* str, const size_t len) {
+  $1 = (uint8_t*)(*$input)->value.str.val;
+  $2 = (*$input)->value.str.len;
  }
 %typemap(out) (uint8_t* input, size_t len) {
   RETVAL_STRINGL((char*)$1, $2, 1);
  }
+//%apply (uint8_t* input, size_t len) { (uint8_t* str, size_t len) }
 %typemap(in) void*[] {
 
  }