Skip to content

Commit fff5278

Browse files
committed
fix: return interpreter id
1 parent d20f106 commit fff5278

File tree

1 file changed

+11
-13
lines changed

1 file changed

+11
-13
lines changed

cmd/c/main.go

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package main
22

33
import (
4-
"fmt"
54
"quill/internal/jsonapi"
65
"sync"
76
"unsafe"
@@ -18,22 +17,21 @@ var (
1817
)
1918

2019
//export quill_new_interpreter
21-
func quill_new_interpreter(source *C.char) *C.char {
20+
func quill_new_interpreter(source *C.char) C.int {
2221
goSource := C.GoString(source)
23-
interp, result := jsonapi.NewQuillInterpreter(goSource)
22+
interp, _ := jsonapi.NewQuillInterpreter(goSource)
2423

25-
if interp != nil {
26-
mu.Lock()
27-
interpreters[nextID] = interp
28-
nextID++
29-
mu.Unlock()
24+
if interp == nil {
25+
return -1
3026
}
3127

32-
cResult := C.CString(result)
33-
if cResult == nil {
34-
return C.CString(`{"success":false,"error":"Failed to allocate C string"}`)
35-
}
36-
return C.CString((`{"success":true,"interpreter_id":` + fmt.Sprint(nextID-1) + `}`))
28+
mu.Lock()
29+
id := nextID
30+
interpreters[nextID] = interp
31+
nextID++
32+
mu.Unlock()
33+
34+
return C.int(id)
3735
}
3836

3937
//export quill_step

0 commit comments

Comments
 (0)