aboutsummaryrefslogtreecommitdiff
path: root/Lib/go
diff options
context:
space:
mode:
authorRick Luddy <rick.luddy@demiurgestudios.com>2015-08-25 09:17:19 -0400
committerRick Luddy <rick.luddy@demiurgestudios.com>2015-08-25 09:17:19 -0400
commita1e385694e9a0aa543e9eeb362626a4f10708ff6 (patch)
treeac703ac2ab0fb9da1b1a2a7273aba348d4183e8b /Lib/go
parent1851b2fadf4df4bc7437255f8e6c56f0df9b2cf5 (diff)
downloadswig-a1e385694e9a0aa543e9eeb362626a4f10708ff6.tar.gz
Removed golang stringing for signed/unsigned char
With this change, generated code for golang treats char* as a string but treats signed char* and unsigned char* as normal pointers. This seems to fit better with the expected behavior, as the latter are more often used as non-string data.
Diffstat (limited to 'Lib/go')
-rw-r--r--Lib/go/go.swg34
1 files changed, 9 insertions, 25 deletions
diff --git a/Lib/go/go.swg b/Lib/go/go.swg
index 35f914c5b..54a6f08a2 100644
--- a/Lib/go/go.swg
+++ b/Lib/go/go.swg
@@ -426,57 +426,41 @@
/* Strings. */
%typemap(gotype)
- char *, char *&, char[ANY], char[],
- signed char *, signed char *&, signed char[ANY], signed char[],
- unsigned char *, unsigned char *&, unsigned char[ANY], unsigned char[]
-"string"
+ char *, char *&, char[ANY], char[] "string"
/* Needed to avoid confusion with the way the go module handles
references. */
-%typemap(gotype) char&, unsigned char& "*byte"
-%typemap(gotype) signed char& "*int8"
+%typemap(gotype) char& "*byte"
%typemap(in)
- char *, char[ANY], char[],
- signed char *, signed char[ANY], signed char[],
- unsigned char *, unsigned char[ANY], unsigned char[]
+ char *, char[ANY], char[]
%{ $1 = ($1_ltype)$input.p; %}
-%typemap(in) char *&, signed char *&, unsigned char *&
+%typemap(in) char *&
%{ $1 = ($1_ltype)$input.p; %}
%typemap(out,fragment="AllocateString")
- char *, char *&, char[ANY], char[],
- signed char *, signed char *&, signed char[ANY], signed char[],
- unsigned char *, unsigned char *&, unsigned char[ANY], unsigned char[]
+ char *, char *&, char[ANY], char[]
%{ $result = Swig_AllocateString((char*)$1, $1 ? strlen((char*)$1) : 0); %}
%typemap(goout,fragment="CopyString")
- char *, char *&, char[ANY], char[],
- signed char *, signed char *&, signed char[ANY], signed char[],
- unsigned char *, unsigned char *&, unsigned char[ANY], unsigned char[]
+ char *, char *&, char[ANY], char[]
%{ $result = swigCopyString($1) %}
%typemap(directorin,fragment="AllocateString")
- char *, char *&, char[ANY], char[],
- signed char *, signed char *&, signed char[ANY], signed char[],
- unsigned char *, unsigned char *&, unsigned char[ANY], unsigned char[]
+ char *, char *&, char[ANY], char[]
%{
$input = Swig_AllocateString((char*)$1, $1 ? strlen((char*)$1) : 0);
%}
%typemap(godirectorin,fragment="CopyString")
- char *, char *&, char[ANY], char[],
- signed char *, signed char *&, signed char[ANY], signed char[],
- unsigned char *, unsigned char *&, unsigned char[ANY], unsigned char[]
+ char *, char *&, char[ANY], char[]
%{
$result = swigCopyString($input)
%}
%typemap(directorout)
- char *, char *&, char[ANY], char[],
- signed char *, signed char *&, signed char[ANY], signed char[],
- unsigned char *, unsigned char *&, unsigned char[ANY], unsigned char[]
+ char *, char *&, char[ANY], char[]
%{ $result = ($1_ltype)$input.p; %}
/* String & length */