golang: Map OptString to *string, not string (since string is not nullable).

This commit is contained in:
Richard W.M. Jones
2013-07-04 14:00:56 +01:00
parent 86c1e53ee6
commit d48e4400fc
2 changed files with 9 additions and 3 deletions

View File

@@ -310,9 +310,9 @@ func return_hashtable (argv **C.char) map[string]string {
| Pathname n
| Dev_or_Path n
| Mountable_or_Path n
| OptString n
| Key n
| FileIn n | FileOut n -> pr "%s string" n
| OptString n -> pr "%s *string" n
| StringList n
| DeviceList n -> pr "%s []string" n
| BufferIn n -> pr "%s []byte" n
@@ -365,12 +365,18 @@ func return_hashtable (argv **C.char) map[string]string {
| Pathname n
| Dev_or_Path n
| Mountable_or_Path n
| OptString n
| Key n
| FileIn n | FileOut n ->
pr "\n";
pr " c_%s := C.CString (%s)\n" n n;
pr " defer C.free (unsafe.Pointer (c_%s))\n" n
| OptString n ->
pr "\n";
pr " var c_%s *C.char = nil\n" n;
pr " if %s != nil {\n" n;
pr " c_%s = C.CString (*%s)\n" n n;
pr " defer C.free (unsafe.Pointer (c_%s))\n" n;
pr " }\n"
| StringList n
| DeviceList n ->
pr "\n";

View File

@@ -57,7 +57,7 @@ func Test050HandleProperties (t *testing.T) {
if err != nil {
t.Errorf ("%s", err)
}
err = g.Set_path (p)
err = g.Set_path (&p)
if err != nil {
t.Errorf ("%s", err)
}