diff options
author | Rick Luddy <rick.luddy@demiurgestudios.com> | 2015-08-25 09:17:19 -0400 |
---|---|---|
committer | Rick Luddy <rick.luddy@demiurgestudios.com> | 2015-08-25 09:17:19 -0400 |
commit | a1e385694e9a0aa543e9eeb362626a4f10708ff6 (patch) | |
tree | ac703ac2ab0fb9da1b1a2a7273aba348d4183e8b /Lib/go | |
parent | 1851b2fadf4df4bc7437255f8e6c56f0df9b2cf5 (diff) | |
download | swig-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.swg | 34 |
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 */ |